diabetes-agent-mcp-server
Verified Safeby zikifaker
Overview
Serves as a Middle-ware Call Protocol (MCP) server providing specialized tools for diabetes knowledge graph search and user-specific knowledge base retrieval, primarily supporting Retrieval Augmented Generation (RAG) for AI agents.
Installation
go run .Security Notes
The JWT secret key and database credentials are loaded from a configuration file, which is good practice. However, several database queries are constructed using string concatenation instead of fully parameterized queries. In `tools/diabetes_kg.go`, the Neo4j fulltext search query uses manual escaping for single quotes within the search string; while an attempt at sanitization, it's generally less robust than parameterized queries. In `tools/knowledge_base.go`, the Milvus filter uses string concatenation, though the user email is derived from validated JWT claims, mitigating risk. A significant Cypher injection vulnerability exists in `cmd/knowledge-graph/main.go`'s `saveRelation` function, where `relation.RelationType` is directly inserted into the query via `fmt.Sprintf`. This tool is for data ingestion from presumably trusted JSON files, but it highlights a potential weak point if source data or the ingestion process could be compromised. No hardcoded secrets were found in the main server code. For production, loading configuration via environment variables is generally preferred over only a local `config.yaml`.
Similar Servers
mcp-neo4j
The MCP Neo4j Cypher server enables AI models to interact with a Neo4j graph database, execute Cypher queries (read and write), explore the graph schema, and manage query performance and response sizes.
nocturne_memory
Provides a persistent, structured long-term memory and dynamic knowledge graph system for AI agents, designed for human-AI collaboration.
knowledgebase-mcp
A standardized Model Context Protocol (MCP) server that aggregates and provides AI systems with access to diverse biomedical knowledge bases and analysis tools.
mcp-kg-skills
Manages a knowledge graph of reusable Python functions (skills), documentation, and environment variables for dynamic script composition and execution by an LLM.