【技术文档摘要】

Society ElizaOS Connector MCP(模型上下文协议)允许您无缝集成您的ElizaOS代理与Cursor。这使您可以列出可用的代理,选择特定的代理进行交互,并从Cursor IDE内部直接与您的ElizaOS代理聊天。
此MCP服务器在您的机器上本地运行,并由Cursor使用stdio传输管理,这意味着Cursor会自动启动并与之通信。
Room ID将自动设置以匹配Agent ID。http://localhost:3000)。最简单的方法是直接使用Cursor通过npx来使用这个MCP。Cursor会自动处理运行该包。
.cursor/mcp.json文件(或全局的~/.cursor/mcp.json文件),并添加以下内容:{
"mcpServers": {
"society-elizaos-mcp-npx": {
"command": "npx",
"args": [
"-y",
"society-elizaos-mcp@1.0.9"
],
"env": {
"ELIZAOS_SERVER_URL": "http://localhost:3000",
"ELIZAOS_USER_ID": "000000000000000000000000000000000000", 示例 ad64a76a-0e09-0899-b8f8-492d6aea4118
"ELIZAOS_WORLD_ID": "000000000000000000000000000000000000", 示例 c930b151-dcfb-41c5-96af-550ffea7023c
"ELIZAOS_AGENT_ID": "000000000000000000000000000000000000", 示例 85e9fa66-6f8c-0f18-922c-d6c962e21e18
"ELIZAOS_ROOM_ID": "000000000000000000000000000000000000", 需要等于ELIZAOS_AGENT_ID
"ELIZAOS_CONNECTION_TIMEOUT": "120000",
"ELIZAOS_RESPONSE_TIMEOUT": "90000",
"PORT": "3099",
"DEBUG": "true",
"NODE_ENV": "production",
"MCP_DISABLE_PINGS": "true"
}
}
}
替换所有占位符UUID为您的实际ElizaOS ID。
重启Cursor以应用配置更改。
开始使用Cursor界面中的工具 - 它们将显示为:
get_statuslist_agentschat_with_agentset_agent如果您想运行连接器的本地开发版本,请按照以下步骤操作:
克隆并安装依赖项:
git clone https://github.com/your-username/society-elizaos-mcp.git
cd society-elizaos-mcp
npm install
构建包:
npm run build
本地运行:
# 设置必需的环境变量
export ELIZAOS_SERVER_URL="http://localhost:3000"
export ELIZAOS_USER_ID="your-elizaos-user-uuid"
export ELIZAOS_WORLD_ID="your-elizaos-world-uuid"
export ELIZAOS_AGENT_ID="your-initial-agent-uuid"
export ELIZAOS_ROOM_ID="your-initial-agent-uuid"
# 运行服务器
node dist/index.js
或者使用便捷脚本:
# 脚本设置默认环境变量并运行服务器
./scripts/mcp_run.sh
配置Cursor以使用本地版本:
如果您希望Cursor使用您的本地版本而不是npm包,请更新您的.cursor/mcp.json:
{
"mcpServers": {
"society-elizaos-mcp-local": {
"command": "node",
"args": [
"/path/to/your/society-elizaos-mcp/dist/index.js"
],
"env": {
"ELIZAOS_SERVER_URL": "http://localhost:3000",
"ELIZAOS_USER_ID": "your-elizaos-user-uuid",
"ELIZAOS_WORLD_ID": "your-elizaos-world-uuid",
"ELIZAOS_AGENT_ID": "your-initial-agent-uuid",
"ELIZAOS_ROOM_ID": "your-initial-agent-uuid",
"ELIZAOS_CONNECTION_TIMEOUT": "120000",
"ELIZAOS_RESPONSE_TIMEOUT": "90000",
"PORT": "3069",
"DEBUG": "true",
"NODE_ENV": "production",
"MCP_DISABLE_PINGS": "true"
}
}
}
}
所有配置均通过环境变量完成,您可以在.cursor/mcp.json文件的env部分设置这些变量:
| 环境变量 | 必需 | 描述 |
|---|---|---|
ELIZAOS_SERVER_URL | 是 | 您的ElizaOS服务器的URL(例如,http://localhost:3000) |
ELIZAOS_USER_ID | 是 | 您的ElizaOS用户UUID |
ELIZAOS_WORLD_ID | 是 | 您的ElizaOS世界UUID |
ELIZAOS_AGENT_ID | 否 | 初始连接的代理UUID(可选但建议) |
ELIZAOS_ROOM_ID | 否 | 如果提供,则必须与ELIZAOS_AGENT_ID相同 |
ELIZAOS_CONNECTION_TIMEOUT | 否 | 套接字连接超时时间(单位:毫秒,默认值:120000) |
ELIZAOS_RESPONSE_TIMEOUT | 否 | 代理响应超时时间(单位:毫秒,默认值:90000) |
⚠️ 重要:切勿在您的.cursor/mcp.json文件或发布的任何代码中包含任何API密钥或秘密。MCP无需任何外部API密钥即可运行。
一旦配置好,Cursor可以通过以下四个工具与您的ElizaOS代理通信:
get_status获取ElizaOS MCP的当前连接状态和配置。
参数:不需要(传递空对象{}或{"random_string": "any"})
返回:
{
"connectionState": "connected",
"currentAgent": "agent-uuid",
"currentRoom": "room-uuid",
"serverUrl": "http://localhost:3000",
"userId": "user-uuid",
"worldId": "world-uuid",
"connectionTimeout": 120000,
"responseTimeout": 90000
}
list_agents列出您的ElizaOS服务器上的所有可用代理。
参数:不需要(传递空对象{}或{"random_string": "any"})
返回:
[
{
"id": "agent-uuid-1",
"name": "Agent Name 1"
},
{
"id": "agent-uuid-2",
"name": "Agent Name 2"
}
]
chat_with_agent向当前选定的代理发送消息并返回响应。
参数:
{
"message": "您要发送给代理的消息"
}
返回:
{
"messageText": "您要发送给代理的消息",
"senderId": "your-user-id",
"response": {
"senderId": "agent-id",
"senderName": "Agent Name",
"text": "代理的响应文本",
"roomId": "room-id",
"createdAt": 1747632281772,
"source": "mcp_client_chat",
"thought": "如果可用,可选的代理思考过程",
"actions": ["REPLY"]
}
}
set_agent切换到不同的代理。请注意,在ElizaOS中,agent_id和room_id必须相同。
参数:
{
"agent_id": "要使用的代理UUID",
"room_id": "要使用的代理UUID"
}
返回:
{
"success": true,
"oldConfig": {
"agentId": "之前的代理UUID",
"roomId": "之前的房间UUID"
},
"newConfig": {
"agentId": "新的代理UUID",
"roomId": "新的代理UUID"
}
}
“缺少必需的ElizaOS环境变量”:
ELIZAOS_USER_ID、ELIZAOS_WORLD_ID和ELIZAOS_SERVER_URL。“无法连接到ElizaOS进行聊天”:
没有代理响应:
ELIZAOS_RESPONSE_TIMEOUT。“对于ElizaOS,agent_id和room_id必须相同”:
set_agent时,确保两个ID值相同。MIT
这份README提供了详细的指南,用于设置和使用Society ElizaOS Connector MCP与Cursor。如需更多帮助,请在GitHub仓库中提交问题。