项目简介
"盗贼统治时间线研究"项目旨在创建一个全面的时间线,记录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)客户端能够无缝集成并利用时间线数据和研究功能。
安装步骤
- 克隆仓库:
git clone https://github.com/markramm/KleptocracyTimeline.git cd KleptocracyTimeline - 启动研究服务器 (包含MCP服务器):
项目采用Flask作为REST API后端,并在此基础上集成了MCP服务器。
请参考仓库中的'INSTALLATION.md'文件获取详细的设置说明和依赖安装步骤。# 进入research-server目录 cd research-server # 安装依赖 (假设您已安装Python和pip) # 具体的依赖安装指令通常在INSTALLATION.md中,但这里是通用示例 pip install -r requirements.txt # 启动服务器 (这将启动Flask REST API,MCP服务器作为其一部分运行) ./research server-start
服务器配置
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代理可以:
-
列出可用工具: 向MCP服务器发送一个'list_tools'请求,获取所有可用工具的名称、描述和输入Schema。
-
调用事件搜索工具: 如果LLM需要查找关于“Trump”和“crypto”的事件,它可以调用'search_events'工具,并传入'query: "Trump crypto"'作为参数。服务器会返回匹配的事件列表。
-
读取时间线统计资源: LLM可以请求读取'timeline://stats'资源,获取最新的时间线统计数据。
-
创建新事件: 当LLM完成一项研究任务并生成新的时间线事件数据时,它可以调用'create_event'工具,并传入完整的事件数据。
这些交互都通过标准化的JSON-RPC消息进行,使LLM能够以结构化的方式访问和操作时间线研究数据。
信息
分类
AI与计算