MCP(Model Context Protocol)配置文件(mcp.json)是AI开发中连接MCP服务器的核心文件,采用JSON 格式,定义服务参数。它广泛应用于Cursor、Claude等AI开发工具,帮助开发者快速配置本地或远程MCP服务。


MCP服务提供商:https://mcp.so/zh

MCP模型上下文协议:Model Context Protocol
1,为什么会出现MCP?因为工具调用存在局限性。 如何兼顾共用+数量? 这个项目写的工具类给别的项目调用?这个项目中存在大量的工具类。
大模型与大模型之间的调用,应该遵守什么协议?之前每个大模型 (如 DeepSeek、ChatGPT) 需要为每个工具单独开发接口 (FunctionCalling),导致重复劳动。
2,MCP 是一种开放协议,它标准化了应用程序如何向大型语言模型(LLMs)提供上下文。MCP 提供了一种标准化的方式将AI模型连接到不同的数据源和工具。
3,MCP 是什么,一句话描述?就是spring cloud中的feign。MCP是Java 界的 SpringCloud Openfeign,只不过 Openfeign 是用于微服务通讯的,而 MCP 用于大模型通讯的,但它们都是为了通讯获取某项数据的一种机制。(就是一种数据交互规范)
4,MCP 能干嘛?MCP 提供了一种标准化的方式来连接 LLMs 需要的上下文,MCP 就类似于一个 Agent 时代的 Type-C 协议,希望能将不同来源的数据、工具、服务系统一起来供大模型调用。

5,MCP 包含以下几个部分:
MCP 主机(MCP Hosts):发起请求的 AI 应用程序,比如聊天机器人、AI 驱动的 IDE 等。
MCP 客户端(MCP Clients):在主机程序内部,与 MCP 服务器保持 1:1 的连接。
MCP 服务器(MCP Servers):为 MCP 客户端提供上下文、工具和提示信息。
本地资源(Local Resources):本地计算机中可供 MCP 服务器安全访问的资源,如文件、数据库。
远程资源(Remote Resources):MCP 服务器可以连接到的远程资源,如通过 API 提供的数据。

7,在 MCP 通信协议中,一般有两种模式
- STDIO(标准输入 / 输出):支持标准输入和输出流进行通信,主要用于本地集成、命令行工具等场景。
- SSE(Server-Sent Events):支持使用 HTTP POST 请求进行服务器到客户端流式处理,以实现客户端到服务器的通信。


基本配置结构:
mcpServers
serverName服务别名:自定义,AI 工具通过别名调用该服务。比如redis等
command:要执行的命令(如 npx、python、cmd.exe 等)或可执行文件路径,支持绝对路径或相对路径,支持环境变量引用
​​args​​:命令行参数列表。传递给命令的参数列表,按数组顺序传递,支持包含空格的参数。

{
  "command": "npx",
  "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user"]
}

type通信协议类型:stdio/sse/streamableHttp
1. STDIO模式(本地进程通信)
2. SSE模式(远程Server-Sent Events)
3. http模式,标准HTTP请求响应。
enable:启用/禁用服务
"enabled": true 表示启用,省略则默认启用。设置为 false 可临时关闭某个服务。

{
  "mcpServers": {
    "服务别名": {
      "command": "启动命令",
      "args": ["参数1", "参数2", ...],
      "env": { "环境变量名": "值", ... },
      "enabled": true
    },
    ...
  }
}
{
  "mcpServers": {
    "redis": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-redis",
        "redis://:auth@192.250.110.23:6379"
      ]
    },
    "fetch": {
      "command": "npx",
      "args": [
        "mcp-server-fetch"
      ],
      "url": "https://mcp.api-inference.modelscope.net/******/sse"
    },
    "weather": {
      "command": "npx",
      "args": [
        "-y",
        "@h1deya/mcp-server-weather"
      ]
    },
    "Framelink MCP for Figma": {
      "command": "npx",
      "args": [
        "-y",
        "figma-developer-mcp",
        "--figma-api-key=YOUR_KEY",
        "--stdio"
      ]
    },
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "postgresql://username:uat@123456@192.250.110.209:5432/库名"
      ]
    }
  }
}

客户端配置

org.springframework.ai

spring-ai-mcp-client-spring-boot-starter

spring.ai.mcp.client.name=服务名称

spring.ai.mcp.client.sse.connections.mcp-server1.url=ip+端口(服务名称,服务ip+端口) 与MCP服务器通信的SSE端点URL

服务器配置

spring.ai.mcp.server.name=服务名称

spring.ai.mcp.server.version=版本

spring.ai.mcp.server.type=async

对接互联网通用MCP服务,比如调用百度地图。上万个通用的MCP服务。

百度地图核心API已全面兼容 MCP 协议,是国内首家兼容 MCP 协议的地图服务商。

MCP服务提供商,百度地图.百度地图MCP Server。

spring.ai.mcp.client.stdio.servers-configuration=classpath:/mcp-server.json5 服务器配置脚本。

启动成功的标志:STDERR Message received: Baidu Map MCP Server running on stdio

一个服务中,可以调用多个mcp服务,json5配置多个mcp服务。

@McpTool 是 Spring AI 框架中用于 MCP(Model Control Protocol)架构的核心注解之一,其主要作用是‌将一个 Java 方法声明为一个可供 AI 模型调用的工具(Tool)‌。

当一个方法被 @McpTool 注解标记后,Spring AI 会自动:

将该方法暴露为 MCP 服务器上的一个可用工具。

根据方法的参数、返回值和注解属性,‌自动生成符合 JSON Schema 规范的工具描述信息‌,供 AI 模型理解该工具的功能、参数类型和要求。

实现 Java 方法与 MCP 协议之间的自动映射,使 AI 模型可以通过自然语言指令触发该方法的执行。

Node.js环境​​:确保系统已安装Node.js,并且npx命令可用
​​环境变量管理​​:敏感信息(如API密钥)建议通过外部注入,避免硬编码在配置文件中。
推荐每次修改后重启工具,确保配置生效。
mcp.json 让 AI 工具具备“外部能力”,如数据库、网页、API 等。

Windows电脑上如何使用中使用mcp server? 
1,安装node js环境。
2,配置json文件。

启动server的命令是npx,需要安装nodejs。
mcp server,基本上都是docker或者npx启动,往深了看,基本上都是index.js是启动文件。

如何理解npx命令?

npx 是一个在 Node.js 中运行命令行工具的命令行工具,它可以让你无需全局安装包就可以运行它们。当你看到 npx -y "@modelcontextprotocol/server-filesystem" 这样的命令时,它意味着你想要使用 npx 来安装并运行一个名为 @modelcontextprotocol/server-filesystem 的 npm 包,并且使用 -y 选项自动确认所有的提示。
这里的 -y 选项通常用在需要你确认的命令中,例如在安装包时,它会默认回答“是”,即自动接受所有询问。
使用说明,‌安装并运行‌:如果你想直接安装并运行这个包,你可以使用以下命令:

npx -y @modelcontextprotocol/server-filesystem

这会首先尝试从 npm 安装 @modelcontextprotocol/server-filesystem 包,然后运行它。如果你使用的是较新版本的 npm 或 Node.js,通常不需要 -y 选项,因为 npx 会自动处理依赖安装。

C:\Users\hp>python --version
Python 3.12.0

C:\Users\hp>where python
D:\software\py\python.exe
C:\Users\hp\AppData\Local\Microsoft\WindowsApps\python.exe


 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐