返回市场
麦克普知识库

麦克普知识库

作者:dragonjump2 星标更新:2025-05-10

项目介绍

MCP ArcKnowledge

smithery 徽章 arc 知识 MCP

工作原理?

arc 知识图

这是一个用于自定义 webhook 端点(知识库)的模型上下文协议(MCP)服务器。

通过这个工具,你可以轻松管理和查询你的知识库列表(webhook 端点)。你可以通过注册它们的 URL 来添加新的文档来源,并可选地提供描述和 API 密钥。

你还可以列出所有已注册的文档来源并查看其详细信息。

当你准备提问或搜索时,可以通过文本问题查询知识库,指定要搜索的来源或留空以搜索所有来源。

该工具将聚合查询来源的结果并提供给你。

先决条件

  • Go
  • Python 3.6+
  • Anthropic Claude 桌面应用(或 Cursor 或 Cline)
  • UV(Python 包管理器),使用 curl -LsSf https://astral.sh/uv/install.sh | sh 安装

概念

想象一下能够建立一个统一的设置,在这里你可以连接所有自定义的知识库端点 webhook 到一个配置中,从而消除对多个 MCP 服务器的需求。

演示

arcknowledge 演示 cursor arcknowledge 演示 cursor arcknowledge 演示 cline

参见 mcp cursor 视频

安装设置

通过 Smithery 安装

要通过 Smithery 自动安装 ArcKnowledge for Claude Desktop:

npx -y @smithery/cli install @dragonjump/mcp-ARCknowledge --client claude
  1. 克隆仓库
git clone https://github.com/dragonjump/mcp-arcknowledge
cd mcp-arcknowledge
  1. 配置端点 复制或修改 knowledge_document_sources.json。参考 sample_endpoint 文件夹中的当前知识端点 API 架构支持。你可以根据需要更改代码。

  2. 连接到 MCP 服务器

    复制以下 JSON 并用适当的 {{PATH}} 值替换:

     {
         "mcpServers": {
             "mcp-arcknowledge": {
                 "command": "cmd /c uv",
                 "args": [
                     "--directory",
                     "C:/Users/Acer/OneDrive/GitHub/YourDrive",
                     "run",
                     "main.py"
                 ],
                 "env": {
                     "DOCUMENT_SOURCES_PATH": "C:/Users/Acer/OneDrive/GitHub/YourDrive/testcustomother.json"
                 }
             }
         }
     }
    

对于 Claude,将其保存为 claude_desktop_config.json 在你的 Claude Desktop 配置目录中:

~/Library/Application Support/Claude/claude_desktop_config.json

对于 Cursor,将其保存为 mcp.json 在你的 Cursor 配置目录中:

~/.cursor/mcp.json

对于 cline,将其保存为 cline_mcp_settings.json 在你的配置中

  1. 重启客户端:Claude Desktop / Cursor / Cline / Windsurf 打开并重启你的 MCP 客户端 IDE,例如 Claude/Cursor/Cline 等。

Windows 兼容性

如果你在 Windows 上运行此项目,请注意 go-sqlite3 需要启用 CGO 才能编译和正常工作。默认情况下,Windows 上 CGO 是禁用的,因此你需要显式启用它并安装 C 编译器。

步骤使其工作:

  1. 安装 C 编译器 我们推荐使用 MSYS2 在 Windows 上安装 C 编译器。安装 MSYS2 后,请确保将 ucrt64\bin 文件夹添加到你的 PATH 中。 → 详细的步骤指南可以在这里找到:这里

架构概述

此应用程序由简单的主组件组成:

Python MCP 服务器 (main.py):一个实现模型上下文协议(MCP)的 Python 服务器,提供标准化的客户端工具来与数据交互并调用 API 调用。

数据存储

  • 所有存储都是运行时本地主 Python 服务器。

技术细节

  1. 客户端向 Python MCP 服务器发送请求。
  2. MCP 服务器查找其运行时配置的知识库。
  3. 根据你的查询,它调用你的知识库端点 API。

故障排除

  • 如果你在运行 uv 时遇到权限问题,可能需要将其添加到你的 PATH 中或使用可执行文件的完整路径。
  • 确保 Go 应用程序和 Python 服务器都在运行以便正确集成。

启动服务器

  1. 配置 运行服务器在开发模式下:
fastmcp dev main.py

或者安装用于与 Claude 使用:

fastmcp install main.py

可用工具

1. 默认加载来自 knowledge_document_sources.json 的知识列表

默认从配置加载知识源

knowledge_document_sources.json

你可以从 mcp.json 环境配置加载自定义知识

        "env": {
            "DOCUMENT_SOURCES_PATH": "C:/Users/Acer/OneDrive/Somewhere/YourDrive/your-custom.json"
        }

2. 列出所有当前注册的知识源

显示并解释所有已注册的知识源列表。

例如:显示我的 arcknowledge 列表

3. 添加新知识文档来源

添加新的 arcknowledge 端点 URL 文档来源。 提供 URL、描述目的和 API 密钥(如果有)

例如:添加新的 arcknowledge 数据源。端点是 http://something.com/api/123。
目的是处理关于 123 主题的问题。API 密钥是 'sk-2123123'

4. 查询特定知识文档来源

使用 query_knowledge_base 查询这些来源构建的 arcknowledge 基础。

例如:为我查询我的产品知识库。问题是:哪个是最贵的产品?

例如:为我查询我的业务 arcknowledge 基础。问题是:业务是什么时候成立的?

例如:为我查询所有我的 arcknowledge 基础。问题是:业务是什么时候成立的?哪个是最贵的产品?

工具函数

  1. add_new_knowledge_document_source(url: str, description: str = None, apikey: str = None) -> str

    • 注册一个新的文档来源 URL,可选地带有描述和 API 密钥。
    • 返回:包含新来源 ID 的确认消息。
  2. list_knowledge_document_sources() -> Dict[str, Dict[str, str]]

    • 列出所有已注册的文档来源。
    • 返回:映射来源 ID 到其详细信息(URL、描述、API 密钥)的字典。
  3. query_knowledge_base(query: str, source_ids: List[str] = [], image: str = '') -> str

    • 查询指定的文档来源(如果没有指定则查询所有)使用文本查询和可选的图像数据。
    • 返回:查询来源的聚合结果。

开发

关键文件项目结构

mcp-arcknowledge/
├── main.py          # 主服务器实现
├── README.md           # 文档
├── requirements.txt    # 项目依赖

Cursor AI MCP 配置

  1. 在项目根目录创建一个 mcp.json 文件:
{
    "name": "mcp-webhook-ai-agent",
    "version": "1.0.0",
    "description": "具有 RAG 功能的 webhook AI 代理",
    "main": "main.py",
    "tools": [
        {
            "name": "set_document_source",
            "description": "为 RAG 操作注册新的文档来源 URL"
        },
        {
            "name": "list_document_sources",
            "description": "列出所有已注册的文档来源"
        },
        {
            "name": "query_rag",
            "description": "使用 RAG 查询指定的文档来源"
        },
        {
            "name": "process_post_query",
            "description": "处理带有查询负载的 POST 请求"
        }
    ],
    "dependencies": {
        "fastmcp": ">=0.4.0",
        "requests": ">=2.31.0",
        "pydantic": ">=2.0.0"
    }
}
  1. 配置 Cursor AI:

    • 打开 Cursor AI 设置
    • 导航到 MCP 部分
    • 添加 mcp.json 文件的路径
    • 重启 Cursor AI 应用程序以应用更改
  2. 验证配置:

# 检查 MCP 是否正确配置
fastmcp check mcp.json

# 列出可用工具
fastmcp list

添加新功能

  1. main.py 中定义新的模型
  2. 使用 @mcp.tool() 装饰器添加新的工具
  3. 如有必要更新文档

许可证

MIT

贡献

  1. 分叉仓库
  2. 创建你的功能分支
  3. 提交更改
  4. 推送到分支
  5. 创建新的拉取请求