使用说明
MCP 服务器
单片Spring Boot MCP(模型上下文协议)服务器,将15个工具库聚合到一个应用程序中。每个库都根据环境变量有条件地激活,因此您只启用所需的功能。
快速开始
# Build
mvn clean package -DskipTests
# Run (STDIO mode for Claude Code)
java -jar target/mcp-server-0.0.1-SNAPSHOT.jar
# Register with Claude Code
claude mcp add --transport stdio --scope user mcp-server -- java -jar /path/to/mcp-server-0.0.1-SNAPSHOT.jar
需要Java 21+。有关Docker SSE部署,请参阅 docker-compose.yml.
包括图书馆
| 库 | 工具 | 激活 | 描述 |
|---|---|---|---|
| mcpsql工具 | 5 | MCP_SQL_ENABLED=true (默认) |
SQL数据库查询(多数据库、Oracle、H2、PostgreSQL) |
| mcp文件系统工具 | 3 | MCP_FILESYSTEM_ENABLED=true (默认) |
具有路径安全性的文件系统操作 |
| mcp mongo工具 | 5 | MCP_MONGO_ENABLED=true |
MongoDB操作(多实例) |
| mcp开发工具 | 47 | MCP_DEVOPS_PAT |
Azure DevOps(WIQL、工作项、Git、管道) |
| mcp蔚蓝全部 | ~64 | MCP_AZURE_CLIENT_ID |
Azure云(VM、AKS、ExpressRoute、SQL、密钥库等) |
| mcp-ocp工具 | 49 | MCP_OCP_TOKEN |
OpenShift 4(Pod、部署、路由、构建等) |
| mcp docker工具 | 41 | MCP_DOCKER_HOST |
Docker引擎(容器、镜像、网络、卷) |
| mcp jira工具 | 24 | MCP_JIRA_API_TOKEN |
Jira Cloud(问题、板、冲刺、JQL) |
| mcp矢量工具 | 5 | MCP_VECTOR_ENABLED=true |
语义向量搜索(pgvector,Ollama/ONNX/OpenAI) |
| mcp图形工具 | 5 | MCP_GRAPH_ENABLED=true |
图形数据库操作(Neo4j+Apache AGE、Cypher) |
| mcp剧作家工具 | 15 | MCP_PLAYWRIGHT_ENABLED=true |
浏览器自动化(导航、点击、截图、快照、评估JS) |
| mcp bash工具 | 1 | MCP_BASH_ENABLED=true |
在主机上执行bash命令 |
| mcp-python工具 | 1 | MCP_PYTHON_ENABLED=true |
在主机上执行Python脚本 |
| mcp-redis工具 | 5 | MCP_REDIS_ENABLED=true |
Redis操作(获取、设置、列表、发布/订阅、消息传递) |
| 内置(ApiProxy+Context7) | 5 | 始终处于活动状态 | REST API代理(GET、POST、health)+Context7文档查找(resolve_library_id、query_docs) |
总计:约275个工具 (启用所有库时)
工具注释
@Tool(Spring AI)——同步:SQL、文件系统、MongoDB、向量搜索、图形、剧作家@ReactiveTool(spring ai反应工具)--异步Mono<T>:DevOps、Azure、OCP、Docker、Jira、ApiProxy、Context7
配置
所有配置都是通过环境变量进行的。仅设置要激活的库的选项:
# SQL (conditional, default enabled)
MCP_SQL_ENABLED=true
MCP_DB_URL=jdbc:postgresql://localhost:5432/mydb
MCP_DB_USER=postgres
MCP_DB_PASSWORD=secret
# Filesystem (conditional, default enabled)
MCP_FILESYSTEM_ENABLED=true
MCP_FS_BASEDIR=/data/myproject
# API Proxy (always active)
MCP_API_BASEURL=http://localhost:8080
# Context7 (always active, no config needed)
# Tools: resolve_library_id, query_docs — calls https://context7.com/api/v1
# MongoDB (conditional)
MCP_MONGO_ENABLED=true
MCP_MONGO_URI=mongodb://localhost:27017/mydb
# Azure DevOps (conditional)
MCP_DEVOPS_PAT=your-pat
MCP_DEVOPS_ORG=your-org
MCP_DEVOPS_PROJECT=your-project
# Azure Cloud (conditional)
MCP_AZURE_TENANT_ID=...
MCP_AZURE_CLIENT_ID=...
MCP_AZURE_CLIENT_SECRET=...
MCP_AZURE_SUBSCRIPTION_ID=...
# OpenShift (conditional)
MCP_OCP_TOKEN=sha256~...
MCP_OCP_SERVER=https://api.cluster:6443
# Docker (conditional)
MCP_DOCKER_HOST=unix:///var/run/docker.sock
# Jira Cloud (conditional)
MCP_JIRA_BASE_URL=https://myorg.atlassian.net
MCP_JIRA_EMAIL=user@example.com
MCP_JIRA_API_TOKEN=your-token
# Vector Search (conditional)
MCP_VECTOR_ENABLED=true
MCP_VECTOR_PROVIDER=ollama
MCP_VECTOR_DB_URL=jdbc:postgresql://localhost:5432/embeddings
# Graph Database (conditional)
MCP_GRAPH_ENABLED=true
MCP_GRAPH_NEO4J_URI=bolt://neo4j:7687
MCP_GRAPH_NEO4J_USER=neo4j
MCP_GRAPH_NEO4J_PASSWORD=secret
# Playwright Browser Automation (conditional)
MCP_PLAYWRIGHT_ENABLED=true
MCP_PLAYWRIGHT_BROWSER=chromium
MCP_PLAYWRIGHT_HEADLESS=true
MCP_PLAYWRIGHT_TIMEOUT=30000
MCP_PLAYWRIGHT_VIEWPORT_WIDTH=1280
MCP_PLAYWRIGHT_VIEWPORT_HEIGHT=720
# Docker: use system chromium instead of Playwright's own download
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium-browser
# Bash (conditional)
MCP_BASH_ENABLED=true
# Python (conditional)
MCP_PYTHON_ENABLED=true
# Redis (conditional)
MCP_REDIS_ENABLED=true
MCP_REDIS_URL=redis://localhost:6379
需求
- Java 21+
- 弹簧靴3.4.1
- 春季AI 1.0.0
- spring ai反应工具0.3.0