项目简介

"盗贼统治时间线研究"项目旨在创建一个全面的时间线,记录50多年来制度性捕获、监管捕获和盗贼统治的事件。本项目中的MCP服务器是其核心"研究基础设施"的一部分,专门为AI代理提供标准化接口,以访问和管理时间线数据、执行研究相关工具。它通过JSON-RPC协议与LLM客户端通信,为LLM应用提供丰富的上下文服务。

主要功能点

  • 资源管理与访问: 托管并提供时间线事件统计、QA统计、所有Actor列表和所有Tag列表等资源的JSON数据访问能力。
  • 工具注册与执行: 注册了一系列AI代理可调用的工具,包括:
    • 事件搜索与查询: 根据关键词、日期、Actor、Tag等条件搜索事件,并获取事件详情。
    • Actor分析: 对特定Actor进行全面分析,包括其相关事件时间线和连接。
    • 质量保证 (QA) 队列管理: 获取需要QA审核的事件,验证事件数据质量,并将事件标记为已验证。
    • 研究发现支持: 发现缺少来源的事件、需要研究增强的高重要性事件以及等待事实核查的事件。
    • 研究任务管理: 获取下一个研究任务优先级,并更新任务状态和进度。
    • 事件创建: 允许AI代理创建新的时间线事件。
    • 系统信息: 获取时间线和QA系统的综合统计数据。
  • AI代理集成: 通过标准化的Model Context Protocol (MCP) 和JSON-RPC协议,使得大型语言模型(LLM)客户端能够无缝集成并利用时间线数据和研究功能。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/markramm/KleptocracyTimeline.git
    cd KleptocracyTimeline
  2. 启动研究服务器 (包含MCP服务器): 项目采用Flask作为REST API后端,并在此基础上集成了MCP服务器。
    # 进入research-server目录
    cd research-server
    
    # 安装依赖 (假设您已安装Python和pip)
    # 具体的依赖安装指令通常在INSTALLATION.md中,但这里是通用示例
    pip install -r requirements.txt
    
    # 启动服务器 (这将启动Flask REST API,MCP服务器作为其一部分运行)
    ./research server-start
    请参考仓库中的'INSTALLATION.md'文件获取详细的设置说明和依赖安装步骤。

服务器配置

MCP客户端需要配置MCP服务器的连接信息。以下是MCP客户端连接此服务器时可能需要配置的JSON格式信息及参数注释。请注意,'command'和'args'是用于启动MCP服务器进程的,'server name'应匹配MCP服务器声明的名称。

{
  "server name": "timeline-research",
  "command": "python3",
  "args": [
    "path/to/KleptocracyTimeline/research-server/mcp/mcp_server.py"
  ],
  "description": "连接到KleptocracyTimeline项目的MCP服务器,提供事件管理、研究任务协调和质量保证工具。",
  "protocol": "stdio",
  "version": "2.0.0",
  "capabilities_declared": [
    "tools",
    "resources"
  ]
}

参数注释:

  • 'server name': MCP服务器在其初始化阶段声明的名称,此处为"timeline-research"。
  • 'command': 启动MCP服务器进程的命令,通常是'python3'。
  • 'args': 传递给'command'的参数列表。其中第一个参数是MCP服务器脚本的绝对路径,您需要根据实际的项目克隆位置修改'path/to/KleptocracyTimeline'部分。
  • 'description': 对此MCP服务器功能的人类可读描述。
  • 'protocol': 服务器支持的传输协议,此处为'stdio'。
  • 'version': 服务器版本。
  • 'capabilities_declared': 服务器声明支持的MCP功能,此处为工具(tools)和资源(resources)。

基本使用方法

一旦服务器运行,AI代理或LLM客户端可以通过配置的JSON-RPC接口与之通信。例如,一个LLM代理可以:

  1. 列出可用工具: 向MCP服务器发送一个'list_tools'请求,获取所有可用工具的名称、描述和输入Schema。

  2. 调用事件搜索工具: 如果LLM需要查找关于“Trump”和“crypto”的事件,它可以调用'search_events'工具,并传入'query: "Trump crypto"'作为参数。服务器会返回匹配的事件列表。

  3. 读取时间线统计资源: LLM可以请求读取'timeline://stats'资源,获取最新的时间线统计数据。

  4. 创建新事件: 当LLM完成一项研究任务并生成新的时间线事件数据时,它可以调用'create_event'工具,并传入完整的事件数据。

这些交互都通过标准化的JSON-RPC消息进行,使LLM能够以结构化的方式访问和操作时间线研究数据。

信息

分类

AI与计算