AioMCP(注:此词可能为特定领域或产品名称,直接翻译无具体含义,故保留原样)
一个基于Python的轻量级、异步的模型上下文协议(MCP)实现,使用asyncio构建。
什么是MCP?
这个(或“该”) 模型上下文协议(MCP) 这是一个开放协议,使人工智能助手能够连接到外部数据源和工具。可以将其视为人工智能模型与您的应用程序、数据库、API和服务进行交互的一种标准化方式。
📚 书籍 了解更多关于MCP的信息:
- https://modelcontextprotocol.io/docs/getting-started/intro 的中文翻译为:“https://modelcontextprotocol.io/文档/入门/简介”
- https://en.wikipedia.org/wiki/模型上下文协议(Model Context Protocol)
特点/特性
- 🚀 这个符号本身没有直接的中文翻译,它通常代表火箭、快速移动或加速等概念。在中文语境中,可以简单地描述为“火箭”或根据上下文翻译为“飞速前进”、“加速”等。如果直接作为表情符号使用,可以保留原样或用“🚀(火箭)”来表示。 设计上异步 - 基于asyncio构建,以实现高性能
- 🔧 修理工具/扳手(根据上下文,也可翻译为“修理”、“工具”等) 可扩展工具系统 - 轻松添加自定义工具和服务
- 📡(天线/卫星天线) 简单协议 - 基于TCP的干净JSON通信
- 🔌 表示“电源插头”或“充电/连接”的符号。 客户端与服务器 - 双方的全面实施
快速入门
运行示例
启动服务器:
python main.py server在另一个终端中,运行客户端:
python main.py client项目结构
aiomcp/
├── protocol.py # Message types and serialization
├── tool_services.py # Abstract tool service classes
├── tool_manager.py # Tool registration and management
├── server.py # MCP server implementation
├── client.py # MCP client implementation
main.py # Entry point for examples可用工具
AioMCP 随附三个示例工具:
echo- 将输入文本回显add- 加两个数say_hello- 生成问候语
创建自定义工具
1. 创建一个工具服务
from aiomcp.tool_services import ToolService
class CustomToolService(ToolService):
async def execute(self, arguments: dict[str, Any]) -> Any:
# Your tool logic here
return "Result"2. 注册您的工具
from aiomcp.tool_manager import ToolManager
from aiomcp.protocol import Tool
tool_manager = ToolManager()
tool_manager.register_tool(
Tool(
name="custom_tool",
description="My custom tool",
parameters={
"type": "object",
"properties": {
"param1": {"type": "string", "description": "First parameter"}
},
"required": ["param1"]
}
),
CustomToolService()
)用例
- 机器人🤖 AI助手集成 - 将大型语言模型(LLMs)连接到您的工具
- 🔌(电源插头) 插件系统 - 动态工具发现与执行
- 🏗 代表“建筑工地”或“正在建造中”的意思。 微服务 - 服务之间的轻量级远程过程调用(RPC)
- 🧪 试管/实验器材 测试 - 在测试中模拟外部服务
