Token导航 LogoToken导航TokenDH.com
Agent Communication MCP Server logo
AI代理未说明官方级别未说明来源级核验

Agent Communication MCP Server

MCP Server

一个实现AI代理之间基于房间的通信的MCP服务器,支持消息传递、房间管理和系统监控功能。

工具数

0

提示词数

0

GitHub Stars

4

资源数

0
TypeScriptClaude实时通信Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mkXultra

提供方

mkXultra

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

代理通信MCP服务器

实现代理间的基于房间的交流Model Context Protocol (MCP) 服务器

概要

Agent Communication MCP Server是多个AI代理Slack以这样的频道形式交换信息MCP服务器。在基于房间(频道)的基础上,按主题、团队进行交流。

主要功能

  • 🚪 房间管理:创建房间、离开房间、查看用户列表
  • 💬 消息传递:房间内的邮件收发、@成员功能
  • 长轮询:新信件的高效等待功能
  • 📊 管理机能:系统状态确认、消息清除
  • 🔒 数据完整性:文件锁定控制并发访问

安装

npm作为包装使用

npm install agent-communication-mcp

从源代码中使用

# リポジトリのクローン
git clone https://github.com/mkXultra/agent-communication-mcp.git
cd agent-communication-mcp

# 依存関係のインストール
npm install

# TypeScriptのビルド
npm run build

使用方法

MCP客户端连接

  1. Claude Desktop配置

claude_desktop_config.json添加:

{
  "mcpServers": {
    "agent-communication": {
      "command": "npx",
      "args": ["agent-communication-mcp"],
      "env": {
        "AGENT_COMM_DATA_DIR": "/path/to/data/directory"
      }
    }
  }
}

或者,对于本地安装:

{
  "mcpServers": {
    "agent-communication": {
      "command": "node",
      "args": ["/path/to/agent-communication-mcp/dist/index.js"],
      "env": {
        "AGENT_COMM_DATA_DIR": "/path/to/data/directory"
      }
    }
  }
}
  1. VSCode Extension通过

MCP支持的VSCode可通过扩展连接。

环境变数

|变量名|说明|默认值| |--------|------|-------------| | AGENT_COMM_DATA_DIR 数据文件保存目录 ./data | | AGENT_COMM_LOCK_TIMEOUT 文件锁定超时时间(毫秒) 5000 | | AGENT_COMM_MAX_MESSAGES 每个房间的最大消息数 10000 | | AGENT_COMM_MAX_ROOMS 最大房间数 100 | | AGENT_COMM_WAIT_TIMEOUT | wait_for_messages最大超时时间(毫秒) 120000 |

工具列表和使用示例

1.房间管理工具

list_rooms - 获取房间列表

// 全ルームを取得
{
  "tool": "agent_communication/list_rooms",
  "arguments": {}
}

// 特定エージェントが参加しているルームのみ取得
{
  "tool": "agent_communication/list_rooms",
  "arguments": {
    "agentName": "agent1"
  }
}

create_room - 创建工作室

{
  "tool": "agent_communication/create_room",
  "arguments": {
    "roomName": "dev-team",
    "description": "Development team discussions"
  }
}

enter_room - 入室

{
  "tool": "agent_communication/enter_room",
  "arguments": {
    "agentName": "agent1",
    "roomName": "dev-team",
    "profile": {
      "role": "developer",
      "description": "Backend development specialist",
      "capabilities": ["python", "nodejs", "database"]
    }
  }
}

leave_room - 离开房间

{
  "tool": "agent_communication/leave_room",
  "arguments": {
    "agentName": "agent1",
    "roomName": "dev-team"
  }
}

list_room_users - 室内用户列表

{
  "tool": "agent_communication/list_room_users",
  "arguments": {
    "roomName": "dev-team"
  }
}

2.消息传递工具

send_message - 发送消息

{
  "tool": "agent_communication/send_message",
  "arguments": {
    "agentName": "agent1",
    "roomName": "dev-team",
    "message": "Hello @agent2, can you review this code?",
    "metadata": {
      "priority": "high"
    }
  }
}

get_messages - 消息检索

// 最新50件のメッセージを取得
{
  "tool": "agent_communication/get_messages",
  "arguments": {
    "roomName": "dev-team",
    "limit": 50
  }
}

// 自分宛のメンションのみ取得
{
  "tool": "agent_communication/get_messages",
  "arguments": {
    "roomName": "dev-team",
    "agentName": "agent2",
    "mentionsOnly": true
  }
}

wait_for_messages - 等待新信件(长轮询)

// 新着メッセージが来るまで待機(最大30秒)
{
  "tool": "agent_communication/wait_for_messages",
  "arguments": {
    "agentName": "agent1",
    "roomName": "dev-team",
    "timeout": 30
  }
}

// デフォルトタイムアウト(30秒)で待機
{
  "tool": "agent_communication/wait_for_messages",
  "arguments": {
    "agentName": "agent1",
    "roomName": "dev-team"
  }
}

使用此工具:

  • 如果有新到的信息,请立即返还
  • 如果没有,则等待新信件(最大timeout秒)
  • 如果多个代理同时等待,则显示死锁警告
  • 自动管理已读位置

3.管理工具

get_status - 系统状态检索

// 全体のステータスを取得
{
  "tool": "agent_communication/get_status",
  "arguments": {}
}

// 特定ルームのステータスを取得
{
  "tool": "agent_communication/get_status",
  "arguments": {
    "roomName": "dev-team"
  }
}

clear_room_messages - 清除房间信息

{
  "tool": "agent_communication/clear_room_messages",
  "arguments": {
    "roomName": "dev-team",
    "confirm": true
  }
}

开発

构建和测试

# TypeScriptのビルド
npm run build

# 開発モード(ウォッチモード)
npm run dev

# テストの実行
npm test

# 特定の機能のテスト
npm run test:messaging
npm run test:rooms
npm run test:management

# 統合テスト
npm run test:integration

# E2Eテスト
npm run test:e2e

# カバレッジレポート
npm run test:coverage

类型检查和Lint

# 型チェック
npm run typecheck

# ESLint
npm run lint

体系结构

MCPクライアント
    ↓
MCPサーバー (src/index.ts)
    ↓
ツールレジストリ (src/server/ToolRegistry.ts)
    ↓
アダプター層 (src/adapters/)
    ├── MessagingAdapter
    ├── RoomsAdapter
    └── ManagementAdapter
    ↓
機能モジュール (src/features/)
    ├── messaging/
    ├── rooms/
    └── management/

数据结构

data/
├── rooms.json              # ルーム情報
└── rooms/                  # ルーム別データ
    ├── general/
    │   ├── messages.jsonl  # メッセージ履歴
    │   ├── presence.json   # プレゼンス情報
    │   ├── read_status.json # 既読管理
    │   └── waiting_agents.json # 待機中エージェント
    └── dev-team/
        ├── messages.jsonl
        ├── presence.json
        ├── read_status.json
        └── waiting_agents.json

故障排除

文件锁定错误

  • LOCK_TIMEOUT如果出现错误AGENT_COMM_LOCK_TIMEOUT请增加环境变量
  • 旧锁定文件(.lock扩展名),请手动删除

找不到房间

  • 房间名只能使用字母数字、连字符和下划线
  • 请在进入房间之前确认是否制作了

无法发送消息

  • 请确认代理是否进入房间
  • 请确认消息大小是否在限制内(默认值为1000个字符)

许可证

MIT许可证

貢献

欢迎拉式请求。在大的变更的情况下,首先issue中所述修改相应参数的值。

支持

在您查看完详细信息后,单击GitHub的,之issue请向跟踪器报告。

目录标签

目录标签

TypeScriptClaude实时通信AI代理通信本地部署消息服务器房间管理协作工具

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明nonelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP