项目简介

KOI-MCP 是一个将知识组织基础设施 (KOI) 与模型上下文协议 (MCP) 相连接的框架。它允许自主智能体在分布式网络中注册、广播并暴露其“人格特质”(即能力),这些能力被适配成MCP兼容的资源和工具, enabling LLM 客户端能够发现并利用这些智能体的能力。

主要功能点

  • 智能体能力暴露: 将智能体的特定“特质”或能力转换为 MCP 标准的工具和资源。
  • 去中心化注册: 利用 KOI 网络进行智能体和能力的发现与注册。
  • MCP 兼容接口: 提供符合 MCP 概念(Resource、Tool)的 RESTful API 接口,供 LLM 客户端通过 HTTP 访问。
  • 分布式架构: 支持运行独立的协调器节点(Registry Server)和智能体节点(Agent Server)。
  • 能力调用: 允许 LLM 客户端通过标准接口远程调用智能体的特定可执行特质。

安装步骤

请确保您已安装 Python 3.12+、'rid-lib' (≥3.2.5) 和 'koi-net' (≥1.0.0b12)。

  1. 克隆仓库:
    git clone https://github.com/BlockScience/koi-mcp.git
    cd koi-mcp
  2. 创建并激活虚拟环境(推荐使用 'uv'):
    uv venv --python 3.12
    source .venv/bin/activate  # Windows 用户使用: .venv\Scripts\activate
  3. 安装项目及其开发依赖:
    uv pip install -e ".[dev]"

服务器配置

MCP 客户端需要知道如何启动 MCP 服务器进程并与之通信。KOI-MCP 框架包含两种主要服务器角色:协调器(作为中央注册表)和智能体(暴露特定智能体的能力)。

您可以通过 MCP 客户端配置来定义如何启动这些服务器。以下是基于仓库信息生成的配置示例(JSON 格式),您需要在客户端环境或 MCP 启动器中使用:

1. 启动协调器节点 (Registry Server)

此节点提供所有已知智能体资源和工具的注册表。

{
  "server name": "KOI-MCP Coordinator Registry",
  "command": "python",
  "args": [
    "-m", "koi_mcp.main", "coordinator",
    "--config", "configs/coordinator.json" 
    // 请确保 'configs/coordinator.json' 文件在服务器进程启动时的当前目录或指定路径可访问
  ],
  "description": "KOI-MCP 协调器,提供智能体和工具的注册表服务",
  "notes": "默认监听端口 9000,可在 configs/coordinator.json 中配置"
}

2. 启动智能体节点 (Agent Server)

此节点暴露特定智能体自身的能力作为资源和工具。您可以运行多个智能体节点,每个使用不同的配置文件。

{
  "server name": "Helpful Agent Server",
  "command": "python",
  "args": [
    "-m", "koi_mcp.main", "agent",
    "--config", "configs/agent1.json"
    // 请确保 'configs/agent1.json' 文件在服务器进程启动时的当前目录或指定路径可访问
  ],
  "description": "提供 Helpful Agent 的 MCP 服务,暴露其能力作为资源和工具",
  "notes": "默认监听端口 8101 (取决于 configs/agent1.json 配置),需要先启动协调器并配置 first_contact指向协调器"
}
{
  "server name": "Creative Agent Server",
  "command": "python",
  "args": [
    "-m", "koi_mcp.main", "agent",
    "--config", "configs/agent2.json"
    // 请确保 'configs/agent2.json' 文件在服务器进程启动时的当前目录或指定路径可访问
  ],
  "description": "提供 Creative Agent 的 MCP 服务,暴露其能力作为资源和工具",
  "notes": "默认监听端口 8102 (取决于 configs/agent2.json 配置),需要先启动协调器并配置 first_contact 指向协调器"
}

重要提示:

  • MCP 客户端通常负责启动上述进程并与其通信。您需要根据实际部署环境调整 'command' 和 'args' 中的路径。
  • 服务器监听的端口是在其自身的配置文件(如 'configs/coordinator.json', 'configs/agent1.json')中指定的,而不是在上述客户端配置中。MCP 客户端在连接时需要知道正确的端口,这通常通过 MCP 协议握手或约定方式获取。
  • 智能体节点需要配置 'network.first_contact'指向已运行的协调器节点的 KOI-Net 端口(默认是协调器的 'base_url' 加上 '/koi-net' 路径,例如 'http://localhost:9000/koi-net'),以便在 KOI 网络中注册其人格特质。

基本使用方法

最简单的使用方式是运行项目提供的 demo 脚本,它会启动协调器和两个智能体节点,并展示它们的功能:

python scripts/demo.py

运行 demo 后,您可以访问以下 URL 查看 MCP 兼容的端点:

  • 协调器注册表(列出所有已知智能体资源):'http://localhost:9000/resources/list'
  • Helpful Agent 工具列表:'http://localhost:8101/tools/list'
  • Creative Agent 工具列表:'http://localhost:8102/tools/list'

LLM 客户端可以访问这些 '/resources' 和 '/tools' 端点来发现和利用智能体的能力。

信息

分类

AI与计算