目的:学习通过将工具扩展为可重复使用的代理工作流(ADWs即带有工具的提示)来构建强大的模型上下文协议(MCP)服务器。
<img src="./images/mcp-server-prompts.png" alt="MCP服务器提示" style="max-width: 800px;">快速数据是一个MCP服务器,它能够对.json和.csv文件进行任意的数据分析。
我们使用快速数据作为一个具体的用例,实验MCP服务器的具体元素:提示 > 工具 > 资源。
详情请参阅快速数据MCP。
我们实验了三个引导问题:
MCP服务器有三个主要构建模块,它们扩展了AI模型的功能:
是什么:AI模型可以调用来执行操作的函数。
何时使用:当你希望AI基于特定领域使用案例在低到中等原子级别上执行某些操作时。
示例:
@mcp.tool()
async def create_task(title: str, description: str) -> dict:
"""创建一个新的任务。"""
# AI可以调用此函数实际创建任务
return {"id": "123", "title": title, "status": "created"}
是什么:AI模型可以读取和访问的数据。
何时使用:当你希望AI读取信息——用户资料、配置、状态或任何数据源时。
示例:
@mcp.resource("users://{user_id}/profile")
async def get_user_profile(user_id: str) -> dict:
"""根据ID获取用户资料。"""
# AI可以读取这些数据以了解用户
return {"id": user_id, "name": "John", "role": "developer"}
是什么:预构建的对话模板,用于启动特定类型的讨论。
何时使用:当你希望给AI提供结构化的起点,用于特定领域使用案例中的常见、可重复的工作流程时。
示例:
@mcp.prompt()
async def code_review(code: str) -> str:
"""启动代码审查对话。"""
# AI获得结构化的代码审查模板
return f"审查这段代码的安全性和性能:\n{code}"
要使用快速数据MCP服务器:
导航到MCP服务器目录:
cd quick-data-mcp/
为你的MCP客户端配置:
# 复制样本配置
cp .mcp.json.sample .mcp.json
# 编辑.mcp.json并更新--directory路径到绝对路径
# 示例:"/Users/yourusername/path/to/quick-data-mcp"
测试服务器:
uv run python main.py
详情请参阅quick-data-mcp/README.md。
学习使用AI编码的基础知识,请参考AI编码原则
关注IndyDevDan YouTube频道,获取更多AI编码技巧。
使用最佳的代理编码工具:Claude Code