关于 ProtoLinkAI 🚀
ProtoLinkAI 是一个 Python 框架,通过基于 MCP 的统一接口封装和管理工具。开发者可选择内置工具和集成,包括 Twitter、加密货币价格、天气及 ElizaOS。
主要功能
- 01通过 MCP 统一封装工具
- 02按需选择工具配置
- 03管理 Twitter 互动
- 04提供实用工具与数据查询
- 05集成 ElizaOS
适用场景
- 01配置仅包含所需工具的服务
- 02自动处理 Twitter 互动
- 03添加天气或时间工具
- 04连接 Eliza Agent
MCP 相关
它通过 MCP 向 Claude Desktop 等客户端提供封装后的工具。可通过修改 Agent 配置选择要启用的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ProtoLinkAI 🚀
ProtoLink AI 是一个标准化的工具封装框架,用于以统一的方式实现和管理各种工具。它旨在帮助开发者快速集成并启动基于工具的用例。
主要功能
- 🔧 标准化封装:提供抽象层,便于使用 MCP 协议构建工具。
- 🚀 灵活的用例:可轻松添加或移除工具,以满足特定需求。
- ✨ 开箱即用的工具:包含适用于常见场景的预构建工具:
- 🐦 Twitter 管理:自动发布推文、回复并管理 Twitter 互动。
- 💸 加密货币:获取最新的加密货币价格。
- 🤖 ElizaOS 集成:无缝连接并与 ElizaOS 交互,实现更强大的自动化。
- 🕑 时间实用工具
- ☁️ 天气信息(API)
- 📚 词典查询
- 🧮 数学表达式计算器
- 💵 货币兑换(API)
- 📈 股票数据:获取实时和历史股票市场信息。
- [WIP] 📰 新闻:获取最新新闻标题。
技术栈 🛠️
- Python:核心编程语言
- MCP Framework:通信协议
- Docker:容器化
🤔 什么是 MCP?
Model Context Protocol (MCP) 是一项先进的标准,用于在 AI 模型和系统之间共享和管理上下文。可以把它看作 AI Agent 用来无缝交互的语言。🧠✨
MCP 的重要性体现在以下方面:
- 🧩 标准化:MCP 定义了如何在模型之间共享上下文,从而实现互操作性。
- ⚡ 可扩展性:它旨在支持高吞吐量的大规模 AI 系统。
- 🔒 安全性:提供可靠的身份验证和精细的访问控制。
- 🌐 灵活性:适用于各种系统和 AI 架构。
来源
安装 📦
通过 PyPI 安装
pip install ProtoLinkai
使用方法 💻
在本地运行
ProtoLinkai --local-timezone "America/New_York"
在 Docker 中运行
-
构建 Docker 镜像:
docker build -t ProtoLinkai . -
运行容器:
docker run -i --rm ProtoLinkai
Twitter 集成 🐦
MProtoLinkAI 提供强大的 Twitter 集成,可自动发布推文、回复并管理 Twitter 互动。本节详细介绍如何通过 Docker 和 .env + scripts/run_agent.sh 配置和使用 Twitter 集成。
Twitter 集成的 Docker 环境变量
在 Docker 中运行 ProtoLinkAI 时,必须配置 Twitter 集成所需的环境变量。这些变量分为两类:
1. Agent Node 客户端凭据
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 运行 ProtoLinkAI
-
构建 Docker 镜像:
docker build -t ProtoLinkai . -
运行容器:
docker run -i --rm ProtoLinkai
使用 .env + scripts/run_agent.sh 运行 ProtoLink
设置环境变量
在项目根目录中创建 .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
摘要
你可以通过 Docker 配置 ProtoLink,使其运行并集成 Twitter;也可以在 .env 文件中设置环境变量,然后运行 scripts/run_agent.sh 脚本。
这种灵活性让你可以选择最适合自身部署环境的方式。
ElizaOS 集成 🤖
1. 直接在 ProtoLink 中使用 Eliza Agent
这种方法让你无需在后台运行 Eliza 框架即可使用 Eliza Agent。它将 Eliza 功能直接集成到 ProtoLink 中,简化了配置过程。
步骤:
- 配置 ProtoLink 使用 Eliza MCP Agent:
在 Python 代码中,将 Eliza MCP Agent 添加到
MultiToolAgent:from ProtoLink.core.multi_tool_agent import MultiToolAgent from ProtoLink.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 ProtoLinkai
This method involves running the Eliza Framework as a separate background process alongside ProtoLinkAI.
Steps:
-
Start Eliza Framework:
bash src/ProtoLinkai/tools/eliza/scripts/run.sh -
Monitor Eliza Processes:
bash src/ProtoLinkai/tools/eliza/scripts/monitor.sh -
Configure MCPAgentAI to Use Eliza Agent: In your Python code, add Eliza Agent to the
MultiToolAgent:from ProtoLink.core.multi_tool_agent import MultiToolAgent from ProtoLink.tools.eliza_agent import eliza_agent multi_tool_agent = MultiToolAgent([ # ... other agents eliza_agent ])
教程:选择特定工具
你可以通过修改服务端的 Agent 配置,或更新 server.py 文件以仅加载所需的 Agent,来配置 ProtoLink 仅运行某些工具。例如:
from ProtoLinkai.tools.time_agent import TimeAgent
from ProtoLinkai.tools.weather_agent import WeatherAgent
from ProtoLinkai.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)将 ProtoLinkAI 集成到 Claude Desktop 中。**请注意:**本地 ElizaOS 仓库是可选参数:
{
"mcpServers": {
"mcpagentai": {
"command": "docker",
"args": ["run", "-i", "-v", "/path/to/local/eliza:/app/eliza", "--rm", "mcpagentai"]
}
}
}
开发 🛠️
-
克隆此仓库:
git clone https://github.com/StevenROyola/ProtoLink.git cd mcpagentai -
(可选)创建虚拟环境:
python3 -m venv .venv source .venv/bin/activate -
安装依赖:
pip install -e . -
构建软件包:
python -m build
许可证:MIT
祝你使用愉快!🎉
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。