模型上下文协议 (MCP):AI 与外部世界的标准化连接框架
模型上下文协议 (Model Context Protocol简称 MCP) 是由 「Anthropic 公司Claude AI 的创造者于 2023 年底推出的一项开放协议」。其核心目标是「为 AI 模型与外部数据源、工具和服务之间的连接建立统一、安全、高效的标准」解决当前 AI 生态中集成碎片化、开发重复和安全隐患等挑战。一、MCP 核心概念AI 的“万能适配器”简单而言你可以将 MCP 理解为一个 「“万能适配器”」 或 「“AI 的连接总线”」。它使得任何兼容的 AI 模型都能够以一种安全、标准化且无需重复开发的方式灵活接入并利用丰富的外部资源如数据库、API、文件系统、专业工具等。1. 核心特性与价值标准化接口统一资源定义以一致的描述方式声明外部数据资源。统一工具调用通过标准化的方式来定义和调用功能工具。价值极大降低了开发者集成新工具或数据的成本实现了“一次开发多处使用”。安全性精细权限控制服务端明确定义模型访问资源范围和可执行的操作。沙箱环境工具执行通常在受控环境中进行隔离潜在风险。价值为企业和开发者提供了可控、可信的 AI 扩展能力保障系统和数据安全。模块化功能通过独立的 “服务器 (Server)” 模块提供每个服务器专注于特定领域如文件操作、数据库查询、天气查询等。价值生态易于扩展和维护开发者可以按需组合或开发专属的服务器。模型无关性协议设计独立于具体的 AI 模型。理论上任何支持 MCP 客户端协议的模型如 Claude、GPT 等都可以利用相同的 MCP 服务器。价值打破了模型与工具之间的绑定促进了开放生态的形成。二、MCP 生态资源MCP 的活力依赖于其蓬勃发展的社区和丰富的可用资源。以下是一些关键的资源导航1. 官方与社区服务器列表 (awesome-mcp-servers)链接https://github.com/punkpeye/awesome-mcp-servers描述这是一个社区维护的精选列表收录了各类高质量的 MCP 服务器项目是寻找现成集成方案的首选入口。2. PyPI 安装包链接https://pypi.org/search/?qmcp描述Python 包索引中包含了官方的 mcp SDK 以及众多第三方开发的 MCP 服务器包方便通过 pip 或 uv 快速安装。3. MCP 服务平台与社区MCP.so一个在线的 MCP 服务器探索与测试平台。ModelScope MCP 社区 (https://www.modelscope.cn/mcp)阿里云 ModelScope 平台下的中文 MCP 生态社区。智谱 MCP 市场 (https://bigmodel.cn/marketplace/index/mcp)智谱 AI 推出的 MCP 服务器市场。Smithery.ai一个用于构建、部署和管理 MCP 服务器的专业平台。三、MCP 开发入门构建你的第一个服务器下面将引导你逐步创建一个具备基础功能的 MCP 服务器。1. 项目初始化# 使用 uv 创建并初始化项目uv 是一个快速的 Python 包管理器和解析器 uv init mcp_base_server cd mcp_base_server # 测试运行主脚本并创建虚拟环境 uv run python main.py2. 安装核心依赖# 安装 MCP SDK 及其命令行工具 pip install mcp[cli] # 或使用 uv uv add mcp[cli]3. 项目结构创建以下基础模块结构mcp_base_server/ ├── __init__.py └── main.py # 服务器主入口文件4. 编写服务器入口 (main.py)#!/usr/bin/env python3 MCP 基础服务器示例 - 主入口文件 import sys import argparse # 导入mcp库 try: from mcp.server.fastmcp import FastMCP except ImportError: print(错误: 未安装MCP SDK。请使用 ‘uv add mcp[cli]‘ 或 ‘pip install mcp[cli]‘ 安装。) sys.exit(1) # 导入自定义的注册函数将在后面定义 from .registrations import register_tools, register_resources, register_prompts # 默认配置 DEFAULT_HOST 0.0.0.0 DEFAULT_PORT 8000 def parse_arguments(): 解析命令行参数 parser argparse.ArgumentParser(descriptinotallowMCP 基础功能示例服务器) # 传输协议选择 parser.add_argument( --transport, choices[stdio, sse, streamable-http], defaultstdio, help选择传输协议: stdio(标准输入输出适用于本地CLI集成), sse(服务器发送事件), streamable-http(流式HTTP) ) # HTTP相关参数 parser.add_argument( --host, defaultDEFAULT_HOST, helpfHTTP服务器监听主机地址默认{DEFAULT_HOST}, ) parser.add_argument( --port, typeint, defaultDEFAULT_PORT, helpfHTTP服务器监听端口默认{DEFAULT_PORT}, ) return parser.parse_args() def main(): 服务器主函数 args parse_arguments() transport args.transport host args.host port args.port # 根据传输协议创建和配置MCP server实例 if transport stdio: # 创建MCP server实例 mcp FastMCP(BaseExampleServer) # 注册工具、资源和提示词到实例 register_tools(mcp) register_resources(mcp) register_prompts(mcp) print(启动 MCP 基础示例服务器传输协议: stdio) mcp.run(transportstdio) else: # 对于HTTP-based协议创建时指定host和port mcp FastMCP(BaseExampleServer, hosthost, portport) # 注册工具、资源和提示词到实例 register_tools(mcp) register_resources(mcp) register_prompts(mcp) if transport streamable-http: print(f启动服务器 (streamable-http)监听地址: http://{host}:{port}) mcp.run(transportstreamable-http) elif transport sse: print(f启动服务器 (SSE)监听地址: http://{host}:{port}/sse) mcp.run(transportsse) if __name__ __main__: main()5. 定义功能工具、资源与提示词 (registrations.py)创建一个新文件 registrations.py 来存放功能注册逻辑。 MCP 功能注册模块 集中定义工具(Tools)、资源(Resources)和提示词(Prompts) import sys from mcp.server.fastmcp import FastMCP # ---------- 工具 (Tools) 注册 ---------- def register_tools(mcp: FastMCP) - None: 注册所有工具函数到MCP实例 mcp.tool() def calc_sum(x: int, y: int) - str: 计算两个整数的和。 参数: x (int): 第一个加数 y (int): 第二个加数 返回: str: 包含计算结果的格式化字符串 try: result x y returnf计算结果: {x} {y} {result} except Exception as e: returnf计算过程中发生错误: {str(e)} # ---------- 资源 (Resources) 注册 ---------- def register_resources(mcp: FastMCP) - None: 注册所有资源到MCP实例 mcp.resource(system://python/version) def get_python_version() - str: 提供当前运行环境的 Python 版本信息。 返回: str: 格式化的版本信息字符串 try: returnfPython 版本信息:\n{sys.version} except Exception as e: returnf获取系统信息时发生错误: {str(e)} # ---------- 提示词 (Prompts) 注册 ---------- def register_prompts(mcp: FastMCP) - None: 注册所有提示词模板到MCP实例 mcp.prompt() def get_calc_prompt(x: int, y: int) - str: 生成一个请求计算两数之和的提示词。 参数: x (int): 第一个整数 y (int): 第二个整数 返回: str: 构造好的提示词 returnf请帮我计算两个整数的和。这两个数分别是 {x} 和 {y}。请确保输出最终结果。「别忘了在主文件 main.py 顶部导入这些注册函数」from .registrations import register_tools, register_resources, register_prompts6. 配置与安装为全局工具在项目根目录的 pyproject.toml 文件中添加入口点配置[project.scripts] mcp-base-server mcp_base_server.main:main然后将你的服务器安装到系统环境中使其成为一个全局可用的命令# 在项目根目录执行 uv tool install . --force安装后你可以通过以下命令验证uv tool list # 输出应包含类似内容 # mcp-base-server v0.1.0 # - mcp-base-server现在你可以在任何地方直接使用 mcp-base-server 命令来启动你的服务器了。四、MCP 服务器使用示例以 Cherry Studio 为例MCP 服务器需要在一个兼容的客户端中运行和使用。以下以 Cherry Studio 为例展示连接流程。1. 配置 MCP 服务器在 Cherry Studio 的设置中找到 MCP 服务器配置区域。2. 使用已注册的功能服务器成功连接后你可以在客户端中直接调用已注册的功能(1) 调用工具在聊天界面模型现在可以调用 calc_sum 工具来进行计算。(2) 使用提示词你可以直接插入或让模型使用我们注册的 get_calc_prompt 提示词模板。(3) 访问资源模型可以读取 system://python/version 资源来获取环境信息。3. 启动与管理服务器连接在客户端配置中你可以设置服务器启动命令为 mcp-base-server因为我们已将其安装为全局工具并选择传输协议如 stdio。并再AI会话中使用mcp服务。 如下此外针对sse和streamable-http协议可以把安装的工具放到含有外网ip的服务器上。输入外网ip:端口的url地址即可。五、总结通过以上步骤你完成了一个功能完整的 MCP 服务器的开发、安装与基础使用流程。MCP 通过其「标准化、安全性和模块化」的设计正在成为连接 AI 模型与广阔数字世界的核心桥梁。无论是集成外部 API、查询数据库还是连接内部业务系统MCP 都提供了一条高效、统一的路径。

相关新闻

error_log默认格式的庖丁解牛

error_log默认格式的庖丁解牛

error_log 默认格式 是 PHP 内置错误日志的 标准文本格式,由 Zend 引擎直接生成,无需任何日志库(如 Monolog)。它虽简单,却包含 时间、错误类型、消息、文件、行号 五大核心要素,是排查 PHP 错误的第一道防…

2026/7/9 19:11:53 阅读更多 →
苹果AirTag 2来了!重点升级UWB芯片,查找范围提升50%

苹果AirTag 2来了!重点升级UWB芯片,查找范围提升50%

2026年1月26日,苹果公司正式发布了第二代AirTag,这是自2021年初代产品问世以来的首次重大更新。这款经过五年等待的新品保持了与上一代相同的外观设计和价格定位,但内在的定位芯片、查找范围和用户体验都得到了显著提升。01 核心升级新一代Ai…

2026/7/7 22:47:00 阅读更多 →
基于深度学习YOLOv8的热成像人员检测系统(YOLOv8+YOLO数据集+UI界面+Python项目源码+模型)

基于深度学习YOLOv8的热成像人员检测系统(YOLOv8+YOLO数据集+UI界面+Python项目源码+模型)

一、项目介绍 摘要 本项目基于先进的YOLOv8目标检测算法,开发了一套高效的热成像人员检测系统。系统使用热成像技术作为数据采集手段,专门针对人员检测任务进行优化,仅包含一个检测类别(person)。项目构建了一个规模…

2026/7/9 0:49:11 阅读更多 →

最新新闻

MATLAB 许可证维护状态自查与资源安装权限:3 种状态下的合法获取路径

MATLAB 许可证维护状态自查与资源安装权限:3 种状态下的合法获取路径

MATLAB许可证维护状态全解析:合法获取资源的3种路径指南 当你在MATLAB中尝试安装新的工具箱时,突然弹出一条关于"软件维护有效期"的提示,这往往意味着你的许可证状态可能存在问题。作为技术用户或团队管理员,理解MATLA…

2026/7/9 19:12:10 阅读更多 →
Pin-Server安全指南:确保编译器插件安全性的10个最佳实践

Pin-Server安全指南:确保编译器插件安全性的10个最佳实践

Pin-Server安全指南:确保编译器插件安全性的10个最佳实践 【免费下载链接】pin-server Pin (Plug-IN framework) server provides plugin APIs for compiler optimization developers to develop optimization pass. 项目地址: https://gitcode.com/openeuler/pin…

2026/7/9 19:12:10 阅读更多 →
ADS131M02与PIC18F57K42在工业测量中的优化应用

ADS131M02与PIC18F57K42在工业测量中的优化应用

1. 为什么选择ADS131M02与PIC18F57K42组合 在工业测量和精密仪器领域,ADC(模数转换器)的性能往往决定了整个系统的精度上限。ADS131M02是TI推出的一款24位Δ-Σ型ADC,具有以下核心优势: 双通道同步采样(最…

2026/7/9 19:10:09 阅读更多 →
donau-arv-gpu-extension性能优化指南:让你的视频处理速度提升3倍

donau-arv-gpu-extension性能优化指南:让你的视频处理速度提升3倍

donau-arv-gpu-extension性能优化指南:让你的视频处理速度提升3倍 【免费下载链接】donau-arv-gpu-extension donau-arv-gpu-extension provide gpu grab frame and encode video extension for arv project. 项目地址: https://gitcode.com/openeuler/donau-arv-…

2026/7/9 19:10:09 阅读更多 →
OpenDesign DataStat API集成教程:如何快速对接开源社区数据源

OpenDesign DataStat API集成教程:如何快速对接开源社区数据源

OpenDesign DataStat API集成教程:如何快速对接开源社区数据源 【免费下载链接】opendesign-datastat The repository of OpenDesign datastat 项目地址: https://gitcode.com/openeuler/opendesign-datastat 前往项目官网免费下载:https://ar.op…

2026/7/9 19:08:09 阅读更多 →
openEuler/globalization项目全面解析:从基础概念到核心功能的终极指南

openEuler/globalization项目全面解析:从基础概念到核心功能的终极指南

openEuler/globalization项目全面解析:从基础概念到核心功能的终极指南 【免费下载链接】globalization openEuler globalization repository. 项目地址: https://gitcode.com/openeuler/globalization 前往项目官网免费下载:https://ar.openeule…

2026/7/9 19:06:05 阅读更多 →

日新闻

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南

3大音乐平台逐字歌词完整解决方案:ESLyric-LyricsSource完全指南 【免费下载链接】ESLyric-LyricsSource Advanced lyrics source for ESLyric in foobar2000 项目地址: https://gitcode.com/gh_mirrors/es/ESLyric-LyricsSource 还在为Foobar2000找不到高质…

2026/7/9 0:01:04 阅读更多 →
ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍

ElegantBook封面定制揭秘:3个步骤打造专业级学术书籍 【免费下载链接】ElegantBook Elegant LaTeX Template for Books 项目地址: https://gitcode.com/gh_mirrors/el/ElegantBook 你是否曾经为学术书籍的封面设计而烦恼?想要一个既专业又美观的封…

2026/7/9 0:03:06 阅读更多 →
如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南

如何高效使用pyodbc:企业级数据库连接终极指南 【免费下载链接】pyodbc Python ODBC bridge 项目地址: https://gitcode.com/gh_mirrors/py/pyodbc 在当今数据驱动的商业环境中,企业级数据库连接已成为现代应用开发的核心需求。pyodbc作为一款强大…

2026/7/9 0:07:11 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/8 16:59:55 阅读更多 →

月新闻