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



所有评论(0)