工具聚合服务器

MCP Server是一个基于Spring Boot的单体式服务器,集成了15个工具库,提供SQL查询、文件系统操作、MongoDB操作、浏览器自动化等多种功能,通过环境变量按需激活。

  • by MassimilianoPili
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 MassimilianoPili/mcp-server

使用说明

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

许可证

MIT许可证