DarkMatter

使用说明(Markdown 格式)

  • 项目简介 DarkMatter 是一个完整的 MCP 服务器实现,提供资源与工具的托管、MCP 工具的注册和执行,以及 Prompt 模板的渲染与上下文管理。服务器通过 MCP 提供的 JSON-RPC 风格请求/响应,支持代理网络中的多节点协作、会话管理和能力声明,设计目标是在无需中心化协调者的情况下实现自组织的 AI 代理网络。

  • 主要功能点

    • MCP 核心能力
      • 处理 MCP 客户端发起的请求(如读取资源、调用工具、获取 Prompts),并返回符合 JSON-RPC 的响应。
      • 注册与执行工具(Tools),支持 LLM 触发外部能力。
      • 提供和渲染 Prompt 模板,用于 LLM 的上下文与交互模式定制。
    • 资源与状态管理
      • 资源、对话、消息队列、已发送消息、-impressions(信任印象)等状态的持久化与回放保护。
    • 会话与身份
      • 基于 Ed25519 的 passport 身份体系,支持签名验证、签名转发、以及对等节点的安全交互。
    • 安全与互操作
      • 支持多种传输(stdio、HTTP/WS 等),具备签名校验、速率限制、SSRF 防护等安全特性。
    • 网络与发现
      • 局域网发现、锚点(Anchor)节点查询、(peer_update/peer_lookup) 等网络协作机制,支持自组织路由与健康自修复。
  • 安装步骤

    • 需求前提
      • Python 3.10+ 环境
    • 获取代码
      • 将仓库克隆到本地或解压到工作目录
    • 安装依赖
      • 按照项目的依赖要求安装 Python 包(如 mcp、httpx、starlette、cryptography 等,若仓库内有 requirements 文件则按该文件安装)
    • 启动服务器
      • 运行 DarkMatter MCP 服务器(默认端口 8100,后续可通过环境变量调整) 命令示例(不涉及具体代码块,仅描述性信息):
        • 通过 Python 模块直接启动(默认端口 8100): python -m darkmatter.app
        • 或按需通过环境变量覆盖端口、显示名等参数,例如 DARKMATTER_PORT=8200 DARKMATTER_DISPLAY_NAME="my-agent" python -m darkmatter.app
    • 部署说明
      • 服务器会自带 MCP 会话与工具注册能力,首次启动会创建 passport 与本地 state 文件,后续启动会复用已有身份与状态。
  • 服务器配置(MCP 客户端配置) 说明:MCP 客户端使用下列配置来连接并启动该 MCP 服务器。服务器名称为 DarkMatter,命令及参数指向服务器模块。注意:以下配置仅供 MCP 客户端使用(描述性信息,非代码块)。实际配置请据项目文档提供的 MCP 客户端格式填写。

    { "server_name": "darkmatter", "command": "python", "args": ["-m", "darkmatter.app"], "env": { "DARKMATTER_PORT": "8100", "DARKMATTER_DISPLAY_NAME": "your-agent-name", "DARKMATTER_CLIENT": "claude-code" // [可选] 取值与所用客户端配置文件相关 } }

    说明:

    • server_name 是 MCP 服务在客户端端的标识,用于区分不同的 MCP 服务器。
    • command 与 args 指向启动服务器的可执行命令及参数(本仓库的入口点通常是 python -m darkmatter.app)。
    • env 节用于传递端口、显示名等运行时参数,确保 MCP 客户端在启动时能正确连接到服务器。
  • 基本使用方法(易懂步骤)

    1. 启动服务器后,客户端向 DarkMatter 服务器发起 MCP 请求(读取身份、列出连接、执行工具等)。
    2. 通过 MCP 工具(如 darkmatter_get_identity、darkmatter_send_message 等)与服务器交互,LLM 可调用工具、读取资源、拉取 Prompts。
    3. 使用者可在本地查看实时状态描述与工具可见性(通过 darkmatter_status 等工具),以了解当前网状网络状态与能力开放情况。
    4. 如需未来扩展、调整工具可见性、或绑定新客户端,参考文档中的工具注册与配置流程进行。
  • 运行与调试

    • 直接在本地启动后,访问 MCP 服务器提供的接口与工具进行交互测试。
    • 如遇端口冲突,可通过 DARKMATTER_PORT 指定新端口。
    • 若要在本地模拟多节点,可以在同一机器上多次启动 DarkMatter 实例,分别设置不同端口与 passport/state。
  • 注意事项

    • MCP 服务器对客户端有权限与签名校验要求,请确保在网络交互中正确传播公钥、签名与时间戳等信息以通过验证。
    • 安全策略,如速率限制、SSRF 防护、TLS/私有网络等,请遵循仓库中的安全配置说明。

服务器信息