# mcp-neo4j-go **Repository Path**: intreeting/mcp-neo4j-go ## Basic Information - **Project Name**: mcp-neo4j-go - **Description**: 使用go-zero框架 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-02 - **Last Updated**: 2025-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mcp-neo4j-go 基于go-zero框架的Neo4j MCP服务端,提供Neo4j数据库的Schema查询、Cypher读写操作接口 ## 功能特性 - 获取Neo4j数据库Schema信息 - 执行安全的Cypher读查询(MATCH/RETURN等) - 执行安全的Cypher写操作(CREATE/MERGE/DELETE等) - 基于MCP协议的标准化接口 - 支持docker运行 - 可通过配置解决跨域问题 ## 安装教程 ### 前置条件 - Go 1.23+ - Neo4j 5.26+ - Docker(可选) ### 安装步骤 1. 克隆仓库: ```bash git clone https://gitee.com/intreeting/mcp-neo4j-go.git cd mcp-neo4j-go ``` 2. 修改配置: 修改`cmd/config.yaml`中的信息 ``` server: name: mcp-neo4j host: 0.0.0.0 port: 8088 mcp: name: mcp-neo4j BaseUrl: http://192.168.4.21:8088 # docker运行时,填宿主机地址端口 messageTimeout: 30s # Timeout for tool calls Cors: - http://192.168.4.21:8088 # Optional CORS configuration - http://localhost:8088 Writable: LogLevel: DEBUG # DEBUG, INFO, WARN, ERROR Stat: false Encoding: json # plain, json TimeFormat: 2006-01-02 15:04:05 Neo4j: URI: bolt://neo4j:7687 Username: neo4j Password: Password Database: neo4j ``` 3. 启动服务: ```bash go mod tidy go run cmd/main.go ``` 4. (可选)Docker方式运行: ```bash docker-compose up -d ``` ## 使用说明 ### 工具说明 - `get_neo4j_schema`: 获取数据库Schema - `read_neo4j_cypher`: 执行读查询 - `write_neo4j_cypher`: 执行写操作 ### MCP客户端配置方式 ``` { "mcpServers": { "neo4j": { "timeout": 30, "command": "cmd", "args": [ "/c", "npx", "mcp-remote", "http://localhost:8088/sse" ], "transportType": "stdio" } } } ``` ## 开发指南 ### 项目结构 ``` . ├── cmd/ # 主程序入口和配置 ├── configs/ # 配置结构定义 ├── internal/ # 核心业务逻辑 │ ├── get_schema.go │ ├── read_cypher.go │ └── write_cypher.go ├── pkg/ # 公共库 ├── Dockerfile # Docker构建文件 └── Makefile # 构建脚本 ``` ## 贡献指南 1. Fork本仓库 2. 创建特性分支 (`git checkout -b feat/your-feature`) 3. 提交更改 (`git commit -am 'Add some feature'`) 4. 推送到分支 (`git push origin feat/your-feature`) 5. 创建Pull Request ## 许可证 [MIT](LICENSE)