事实核查服务器

一个结合CrewAI多智能体系统和MCP服务器的事实核查工具,支持多源搜索和详细报告生成。

  • by Joopsnijder
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Joopsnijder/fact-checker-mcp

使用说明

事实检查器MCP服务器

CrewAI+MCP混合实现,用于通过多代理验证系统进行事实检查。

概述

此工具同时具有以下两种功能:

  1. CrewAI多智能体系统 与多个专业代理进行全面的事实核查
  2. MCP服务器 用于与Claude Desktop和其他MCP客户端直接集成

安装与开发

此项目使用 紫外线的 用于依赖关系管理和虚拟环境处理。

设置

  1. 安装依赖项:

    uv sync
    
  2. 环境变量: 创建一个 .env 文件包含:

    OPENAI_API_KEY=your_openai_api_key
    SERPER_API_KEY=your_serper_api_key  # Optional: for enhanced web search
    BRAVE_API_KEY=your_brave_api_key    # Optional: for additional search provider
    

用法

作为MCP服务器(用于克劳德桌面)

开发模式:

mcp dev fact-checker.py

生产方式:

uv run python fact-checker.py --mcp

作为独立应用程序

交互模式:

uv run python fact-checker.py --check

文件输入:

uv run python fact-checker.py --check input_text.txt

管道使用:

echo "Your text to fact-check" | uv run python fact-checker.py --check

在Python代码中

from fact_checker import run_fact_check_crew

# Analyze text for fact checking
report = run_fact_check_crew("Your text to analyze")
print(report.overall_reliability)

帮助

显示使用说明:

python fact-checker.py --help

MCP服务器工具

当作为MCP服务器运行时,可以使用以下工具:

  • quick_verify(text: str) -快速验证短声明(<500个字符)
  • deep_fact_check(text: str) -全面的多智能体事实核查
  • check_specific_statistic(statistic: str, context: str, year: int) -有针对性的统计验证
  • get_history_summary() -所有已完成的事实核查摘要

MCP资源

  • history://list -所有事实核查报告清单
  • history://report/{id} -具体事实核查报告详情

特性

  • 多提供商搜索:Serper、SearXNG、Brave Search和网络抓取之间的自动回退
  • 智能使用跟踪:监视API使用限制并在提供程序之间轮换
  • 综合分析:提取并核实索赔、统计数据、报价和事实
  • 详细报告:提供信心评分、来源和解释
  • 内存和缓存:内置缓存和内存管理,提高效率

代码质量

格式和lint:

uv run ruff format .
uv run ruff check . --fix

运行测试:

uv run pytest

建筑

  • 事实核查员py -带有CrewAI代理和MCP端点的主服务器
  • smart_search_tool.py -具有自动回退功能的多提供商搜索系统
  • pyproject.toml -UV项目配置及其所有依赖项

需求

  • Python 3.10+
  • OpenAI API密钥(必需)
  • Serper API密钥(可选,增强了搜索功能)
  • 勇敢的API密钥(可选,额外的搜索提供商)

虚拟环境

该项目使用UV的托管虚拟环境。以前的手册 .venv 安装程序已被替换为适当的UV项目结构,以解决MCP CLI兼容性问题。