🚀 模型上下文协议API(MCP服务器)
欢迎来到官方源代码库 模型上下文协议教程 这是为了帮助您开始 模型上下文协议(MCP) --一种强大的面向未来的技术,可以将外部环境连接到您的人工智能应用程序。 MCP是一个开放协议,它规范了应用程序如何为大型语言模型(LLM)提供上下文。将MCP想象成AI应用程序的USB-C端口。正如USB-C提供了一种将设备连接到各种外围设备和配件的标准化方式一样,MCP提供了一个将AI模型连接到不同数据源和工具的标准化方法。MCP使您能够在LLM之上构建代理和复杂的工作流程,并将您的模型与世界联系起来。 🎬 观看完整教程:
______________________________________________________________________
📚 你将学到什么
- ✅ 什么是MCP及其工作原理
- ✅ 什么是MCP服务器,我们为什么使用它以及如何使用它
- ✅ 真实代码示例
🎯 学习MCP的先决条件
为了充分利用这门课程,你应该:
- 具备以下至少一种语言的编程基础知识:C#、Java、JavaScript、Python或TypeScript
- 了解客户端-服务器模型和API
- 熟悉REST和HTTP概念
- (可选)AI/ML概念背景
📚 学习指南和资源
此存储库包括几个资源,可帮助您有效地导航和学习: https://github.com/microsoft/mcp-for-beginners.git
官方网站
https://modelcontextprotocol.io/docs/getting-started/intro
Box MCP服务器
快速开始
克隆存储库:
git clone https://github.com/box-community/mcp-server-box.git
cd mcp-server-box可选但推荐 uv 虚拟环境和依赖关系管理的安装:
自制(macOS)
brew install uvWinGet(Windows)
winget install --id=astral-sh.uv -e在macOS和Linux上
curl -LsSf https://astral.sh/uv/install.sh | sh在Windows上
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"设置虚拟环境并安装依赖项:
uv sync设置环境变量:
在中为Box身份验证设置以下环境变量 .env 文件或系统环境:
在Box应用程序中使用OAuth2.0
BOX_CLIENT_ID = YOUR_CLIENT_ID
BOX_CLIENT_SECRET = YOUR_CLIENT_SECRET
BOX_REDIRECT_URL = http://localhost:8000/callback
BOX_MCP_SERVER_AUTH_TOKEN = YOUR_BOX_MCP_SERVER_AUTH_TOKEN将CCG与Box应用程序结合使用
BOX_CLIENT_ID = YOUR_CLIENT_ID
BOX_CLIENT_SECRET = YOUR_CLIENT_SECRET
BOX_SUBJECT_TYPE = user_or_enterprise
BOX_SUBJECT_ID = YOUR_USER_OR_ENTERPRISE_ID
BOX_MCP_SERVER_AUTH_TOKEN = YOUR_BOX_MCP_SERVER_AUTH_TOKEN注: BOX_MCP_SERVER_AUTH_TOKEN 是用于对Box MCP服务器的请求进行身份验证的令牌。您可以生成此令牌。在STDIO模式下运行MCP服务器:
uv run src/mcp_server_box.pyBox社区MCP服务器工具
以下是可用工具的摘要:
| 可用工具 | 说明 |
|---|---|
| box_tools_ai | 基于AI的文件和中心查询 |
| box_tools协作 | 管理文件/文件夹协作 |
| box_tools_docgen | 文档生成和模板管理 |
| box_tools文件 | 文件操作(读取、上传、下载) |
| box_tools文件夹 | 文件夹操作(列表、创建、删除、更新) |
| box_tools_generic | 通用Box API实用程序 |
| box_tools_groups | 组管理和查询 |
| box_tools元数据 | 元数据模板和实例管理 |
| box_tools_search | 搜索文件和文件夹 |
| box_tools_shared_links | 文件/文件夹/网络链接的共享链接管理 |
| box_tools_users | 用户管理和查询 |
| box_tools_web_link | Web链接创建和管理 |
Box社区MCP服务器操作详细信息
命令行界面参数
要使用特定配置运行MCP服务器,可以使用以下命令行参数:
uv run src/mcp_server_box.py --helpusage: mcp_server_box.py [-h] [--transport {stdio,sse,streamable-http}] [--host HOST]
[--port PORT] [--box-auth {oauth,ccg}] [--no-mcp-server-auth]
Box Community MCP Server
options:
-h, --help show this help message and exit
--transport {stdio,sse,streamable-http}
Transport type (default: stdio)
--host HOST Host for SSE/HTTP transport (default: 0.0.0.0)
--port PORT Port for SSE/HTTP transport (default: 8000)
--box-auth {oauth,ccg}
Authentication type for Box API (default: oauth)
--no-mcp-server-auth Disable authentication (for development only)Claude桌面配置
编辑您的 claude_desktop_config.json:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
添加配置:
{
"mcpServers": {
"mcp-server-box": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-server-box",
"run",
"src/mcp_server_box.py"
]
}
}
}如果Claude正在运行,请重新启动它。
光标配置
Cursor通过其配置文件支持MCP服务器。以下是如何设置它:
Cursor MCP配置文件位于:
- macOS/Linux:
~/.cursor/config.json或~/.config/cursor/config.json - 视窗:
%APPDATA%\Cursor\config.json
添加MCP服务器配置:STDIO传输
编辑您的Cursor配置文件,并在下面添加以下内容 mcpServers 章节:
{
"mcpServers": {
"mcp-server-box": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-server-box",
"run",
"src/mcp_server_box.py"
],
"env": {
"BOX_CLIENT_ID": "YOUR_CLIENT_ID",
"BOX_CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"BOX_REDIRECT_URL": "http://localhost:8000/callback"
}
}
}
}