🧠 服务器和客户端🚀
该项目是ASIMOV课程的一部分,演示了Python中的多代理通信协议(MCP)架构,允许MCP服务器和客户端之间的集成,以连接到外部API,人工智能(OpenAI),维基百科和天气预报。该项目演示了如何构建强大,互动和可扩展的工具。
✨ 主要功能
- 在 Python 中连接 MCP 代理(服务器和客户端)
- 维基百科简要查询 PT-BR
- 通过OpenWeather搜索天气信息
- 使用 OpenAI GPT-4o 合成答案
- SSE 和 Stdio 本地运行
______________________________________________________________________
🏗️ 项目结构
mcp-asimov/
├── servidor_wikipedia.py # MCP Server para Wikipedia
├── servidor_tempo.py # MCP Server para meteorologia
├── servidor_wikipedia_local.py # Wikipedia via stdio
├── cliente_tempo_openai.py # Cliente MCP + OpenAI Tempo
├── cliente_wikipedia_openai.py # Cliente MCP + OpenAI Wikipedia
├── .env # Dados sensíveis (API Keys)
└── README.md # Este arquivo______________________________________________________________________
🛠️ 安装
- 克隆仓库 :
git clone https://github.com/SEU_USUARIO/mcp-asimov.git
cd mcp-asimov- 创建并激活虚拟环境(推荐):
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- 安装依赖关系 :
pip install fastmcp wikipedia requests python-dotenv openai______________________________________________________________________
🔑 环境变量
创建文件 .env 在项目的根与您的密钥:
CHAVE_API_OPENWEATHER=sua_chave_openweather
CHAVE_API_OPENAI=sua_chave_openai______________________________________________________________________
🚦 如何在本地运行
1️⃣ 维基百科 MCP 服务器 (SSE)
python servidor_wikipedia.py*可通过 SSE 在 http://localhost:8000/sse*
二️⃣ MCP 气象服务器
python servidor_tempo.py*通过stdio传输(stdin/stdout),可集成到MCP环境中。*
3️⃣ MCP + OpenAI 时间客户端
python cliente_tempo_openai.py*搜索天气预报,使用OpenAI GPT合成友好的响应。*
4.️⃣ 客户端MCP+OpenAI维基百科
python cliente_wikipedia_openai.py*搜索维基百科并使用生成人工智能格式化答案。*
______________________________________________________________________
🧩 使用范例
维基百科通过客户端
cliente = Client("http://localhost:8000/sse")
resultado = await cliente.call_tool("buscar_wikipedia", arguments={"busca": "Steve Jobs"})
print(resultado)客户时间
cliente = Client("http://localhost:8000/sse")
tempo = await cliente.call_tool("buscar_tempo_atual", arguments={"local": "Rio de Janeiro"})
previsao = await cliente.call_tool("buscar_previsao_tempo", arguments={"local": "Rio de Janeiro"})
print(tempo, previsao)与OpenAI集成
cliente_openai = OpenAI(api_key=os.environ['CHAVE_API_OPENAI'])
response = cliente_openai.chat.completions.create(
model="gpt-4o-mini",
messages=[{...}, {...}]
)
print(response.choices[0].message.content)______________________________________________________________________
📦 主要依赖关系
- fastmcp -Python服务器/客户端
- 维基百科 - 搜索和摘要维基百科 PT-BR
- 请求: -HTTP API消费
- python dotenv 环境变量管理
- 开放人工智能 与GPT模型集成
______________________________________________________________________
💡 重要意见
- 该项目是100%Python的,可以在Linux/Mac/Windows环境中使用。
- 要运行 SSE,您可能需要释放防火墙上的端口或调整本地网络设置。
- 实现的 MCP 函数可以轻松适应其他代理、网络或外部 API。
______________________________________________________________________
🙋♂️ 信用与支持
这个代码是在ASIMOV课程中理想化的。疑问,建议,改进?在仓库中打开一个问题或通过PR贡献!
______________________________________________________________________
🚀 分叉,贡献和 玩得开心! 😎
______________________________________________________________________
许可证 : 麻省理工学院
______________________________________________________________________
如果您对命令、集成或任何特定错误有任何疑问,请询问或打开问题! (2)👍
