关于 MCPAgentAI 🚀
MCPAgentAI 是用于统一封装和组合工具的 Python SDK,面向构建工具型 Agent 的开发者。它提供 Twitter、加密货币、天气、时间等预置工具,并支持 ElizaOS 集成。
主要功能
- 01以 MCP 统一封装工具
- 02按需添加或移除工具
- 03提供多种预置工具
- 04集成 ElizaOS
适用场景
- 01构建组合多种工具的 Agent
- 02自动处理 Twitter 互动
- 03查询天气、时间或汇率
- 04接入 ElizaOS Agent
MCP 相关
项目使用 MCP 协议封装和管理工具,可作为 MCP 服务运行,并供 Claude Desktop 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCPAgentAI 🚀
MCPAgentAI 是一个标准化的工具封装框架,用于以统一方式实现和管理各类工具。它旨在帮助开发者快速集成并启动基于工具的用例。
主要功能
- 🔧 标准化封装:提供一个抽象层,用于使用 MCP 协议构建工具。
- 🚀 灵活的用例:可轻松添加或移除工具,以满足特定需求。
- ✨ 开箱即用的工具:包含适用于常见场景的预构建工具:
- 🐦 Twitter 管理:自动发布推文、回复并管理 Twitter 互动。
- 💸 加密货币:获取最新的加密货币价格。
- 🤖 ElizaOS 集成:无缝连接并与 ElizaOS 交互,增强自动化能力。
- 🕑 时间实用工具
- ☁️ 天气信息(API)
- 📚 词典查询
- 🧮 数学表达式计算器
- 💵 货币兑换(API)
- 📈 股票数据:获取实时和历史股市信息。
- [WIP] 📰 新闻:获取最新新闻标题。
技术栈 🛠️
- Python:核心编程语言
- MCP 框架:通信协议
- Docker:容器化
🤔 什么是 MCP?
模型上下文协议(MCP) 是一种前沿标准,用于在 AI 模型和系统之间共享和管理上下文。可以把它看作 AI Agent 用来无缝交互的语言。🧠✨
MCP 的重要性如下:
- 🧩 标准化:MCP 定义了如何在模型之间共享上下文,从而实现互操作性。
- ⚡ 可扩展性:它专为处理高吞吐量的大规模 AI 系统而构建。
- 🔒 安全性:提供可靠的身份验证和细粒度访问控制。
- 🌐 灵活性:适用于各种系统和 AI 架构。
来源
安装 📦
通过 PyPI 安装
pip install mcpagentai
使用 💻
在本地运行
mcpagentai --local-timezone "America/New_York"
在 Docker 中运行
-
构建 Docker 镜像:
docker build -t mcpagentai . -
运行容器:
docker run -i --rm mcpagentai
Twitter 集成 🐦
MCPAgentAI 提供强大的 Twitter 集成功能,可自动发布推文、回复并管理 Twitter 互动。本节详细介绍如何通过 Docker 和 .env + scripts/run_agent.sh 配置和使用 Twitter 集成。
Twitter 集成的 Docker 环境变量
在 Docker 中运行 MCPAgentAI 时,必须配置 Twitter 集成所需的环境变量。这些变量分为两类:
1. Agent 节点客户端凭据
这些凭据供 Agent 中的 Node.js 客户端用于管理 Twitter 互动。
ENV TWITTER_USERNAME=
ENV TWITTER_PASSWORD=
ENV TWITTER_EMAIL=
2. Tweepy(Twitter API v2)凭据
这些凭据由 Tweepy 用于与 Twitter API v2 交互。
ENV TWITTER_API_KEY=
ENV TWITTER_API_SECRET=
ENV TWITTER_ACCESS_TOKEN=
ENV TWITTER_ACCESS_SECRET=
ENV TWITTER_CLIENT_ID=
ENV TWITTER_CLIENT_SECRET=
ENV TWITTER_BEARER_TOKEN=
使用 Docker 运行 MCPAgentAI
-
构建 Docker 镜像:
docker build -t mcpagentai . -
运行容器:
docker run -i --rm mcpagentai
使用 .env + scripts/run_agent.sh 运行 MCPAgentAI
设置环境变量
在项目根目录中创建 .env 文件,并添加以下环境变量:
ANTHROPIC_API_KEY=your_anthropic_api_key
ELIZA_PATH=/path/to/eliza
TWITTER_USERNAME=your_twitter_username
TWITTER_EMAIL=your_twitter_email
TWITTER_PASSWORD=your_twitter_password
PERSONALITY_CONFIG=/path/to/personality_config.json
RUN_AGENT=True
# Tweepy (Twitter API v2) Credentials
TWITTER_API_KEY=your_twitter_api_key
TWITTER_API_SECRET=your_twitter_api_secret
TWITTER_ACCESS_TOKEN=your_twitter_access_token
TWITTER_ACCESS_SECRET=your_twitter_access_secret
TWITTER_CLIENT_ID=your_twitter_client_id
TWITTER_CLIENT_SECRET=your_twitter_client_secret
TWITTER_BEARER_TOKEN=your_twitter_bearer_token
运行 Agent
-
使脚本可执行:
chmod +x scripts/run_agent.sh -
运行 Agent:
bash scripts/run_agent.sh
总结
你可以配置 MCPAgentAI,通过 Docker 运行并集成 Twitter,也可以在 .env 文件中设置环境变量,然后运行 scripts/run_agent.sh 脚本。
这种灵活性让你可以选择最适合部署环境的方法。
ElizaOS 集成 🤖
MCPAgentAI 可与 ElizaOS 无缝集成,通过 Eliza Agent 提供增强的自动化能力。集成 Eliza Agent 主要有两种方式:
1. 直接在 mcpagentai 中使用 Eliza Agent
这种方式无需在后台运行 Eliza 框架,即可使用 Eliza Agent。它将 Eliza 功能直接嵌入 MCPAgentAI,简化了设置流程。
步骤:
- 配置 MCPAgentAI 以使用 Eliza MCP Agent:
在 Python 代码中,将 Eliza MCP Agent 添加到
MultiToolAgent:from mcpagentai.core.multi_tool_agent import MultiToolAgent from mcpagentai.tools.eliza_mcp_agent import eliza_mcp_agent multi_tool_agent = MultiToolAgent([ # ... other agents eliza_mcp_agent ])
Advantages:
- Simplified Setup: No need to manage separate background processes.
- Easier Monitoring: All functionalities are encapsulated within MCPAgentAI.
- Highlight Feature: Emphasizes the flexibility of MCPAgentAI in integrating various tools seamlessly.
2. Run Eliza Framework from mcpagentai
This method involves running the Eliza Framework as a separate background process alongside MCPAgentAI.
Steps:
-
Start Eliza Framework:
bash src/mcpagentai/tools/eliza/scripts/run.sh -
Monitor Eliza Processes:
bash src/mcpagentai/tools/eliza/scripts/monitor.sh -
Configure MCPAgentAI to Use Eliza Agent: In your Python code, add Eliza Agent to the
MultiToolAgent:from mcpagentai.core.multi_tool_agent import MultiToolAgent from mcpagentai.tools.eliza_agent import eliza_agent multi_tool_agent = MultiToolAgent([ # ... other agents eliza_agent ])
教程:选择特定工具
你可以通过修改服务端的 Agent 配置,或更新 server.py 文件以仅加载所需的 Agent,来配置 MCPAgentAI 只运行特定工具。例如:
from mcpagentai.tools.time_agent import TimeAgent
from mcpagentai.tools.weather_agent import WeatherAgent
from mcpagentai.core.multi_tool_agent import MultiToolAgent
multi_tool_agent = MultiToolAgent([
TimeAgent(),
WeatherAgent()
])
This setup will only enable **Time** and **Weather** tools.
集成示例:Claude Desktop 配置
你可以使用以下配置(claude_desktop_config.json)将 MCPAgentAI 集成到 Claude Desktop 中。请注意: 本地 ElizaOS 仓库是可选参数:
{
"mcpServers": {
"mcpagentai": {
"command": "docker",
"args": ["run", "-i", "-v", "/path/to/local/eliza:/app/eliza", "--rm", "mcpagentai"]
}
}
}
开发 🛠️
-
克隆此仓库:
git clone https://github.com/mcpagents-ai/mcpagentai.git cd mcpagentai -
(可选)创建虚拟环境:
python3 -m venv .venv source .venv/bin/activate -
安装依赖项:
pip install -e . -
构建软件包:
python -m build
贡献 🤝
欢迎贡献!请提交 issue 或 pull request。
许可证:MIT
祝你使用愉快!🎉
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。