MCP入门指南
本项目以学生易于理解的实用方式演示了模型上下文协议(MCP)概念。
什么是MCP(模型上下文协议)?
MCP是应用程序与AI模型通信的标准化方式。它定义了如何:
- 应用程序可以请求AI功能
- AI模型可以访问工具和资源
- 结果以结构化格式返回
将MCP视为您的应用程序和AI功能之间的桥梁。
MCP关键组件说明
1.MCP主机
管理客户端和MCP服务器之间通信的组件。
- 在本项目中:
mcp_server.py使用FastAPI应用程序
2.MCP客户端
向MCP服务器发送请求的应用程序。
- 在本项目中:
cli.py(命令行界面)
3.MCP服务器
处理请求并提供AI功能的组件。
- 在本项目中:
LocalDevAssistantMCP类在mcp_server.py
4.MCP资源
客户端可以读取的类似文件的数据。
- 在此项目中:文件内容、项目列表、分析结果
5.MCP工具
AI模型可以调用的函数。
- 在此项目中:项目创建、代码生成、文件操作
6.MCP提示
帮助完成特定任务的预先编写的模板。
- 本项目中:系统提示、代码生成提示、分析提示
MCP在本项目中的工作原理
- 请求流:
User → CLI (client) → MCP Server → Ollama (AI) → Response → User- 示例:当你跑步时
python src/cli.py generate "function to read CSV":
- CLI将其格式化为具有操作“generate_code”的MCP请求 - MCP服务器收到请求 - 服务器准备一个提示并将其发送给Ollama - Ollama生成代码 - 响应已格式化并返回给用户
动手试一试
设置
- 安装要求:
pip install -r requirements.txt- 安装Ollama和所需型号:
# Install Ollama from https://ollama.ai
ollama serve
ollama pull llama3.2基本MCP命令
- 生成代码 (MCP工具示例):
python src/cli.py generate "function to read CSV file" --language python- 创建项目 (MCP资源示例):
python src/cli.py create my_project --type python- 与AI聊天 (MCP提示示例):
python src/cli.py chat项目结构
├── src/
│ ├── cli.py # MCP Client
│ ├── mcp_server.py # MCP Host & Server
│ ├── file_tools.py # File operations tools
│ └── ollama_client.py # AI model interface
├── workspace/ # Project workspace
└── README.md # This file学习MCP概念
1.MCP请求结构
# From mcp_server.py
class MCPRequest(BaseModel):
"""Request model for MCP operations"""
action: str
parameters: Dict[str, Any] = {}
context: Optional[str] = None2.MCP响应结构
# From mcp_server.py
class MCPResponse(BaseModel):
"""Response model for MCP operations"""
success: bool
data: Optional[Any] = None
message: str = ""
error: Optional[str] = None3.MCP工具注册
# From mcp_server.py
self.tools = {
"create_project": self._create_project,
"list_projects": self._list_projects,
"generate_code": self._generate_code,
# ... more tools
}为什么MCP很重要
MCP提供了一种标准化的方法:
- 在应用程序中访问AI功能
- 让AI模型访问工具和资源
- 结构请求和响应
- 通过受控访问维护安全
通过了解MCP,您将能够更好地构建以结构化、安全的方式利用AI功能的应用程序。
后续步骤
- 探索代码,了解MCP是如何实现的
- 尝试修改工具或添加新工具
- 尝试不同的提示
- 构建自己的MCP客户端应用程序
