知识库管理工具

一个用于管理和查询自定义知识库Webhook端点的MCP服务器,支持添加、列出和搜索文档源。

  • by dragonjump
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 dragonjump/mcp-arcknowledge

使用说明

MCP ArcKnowledge

它是如何工作的?

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

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

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

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

然后,该工具将聚合查询源的结果并将其提供给您。

先决条件

  • 去
  • Python 3.6+
  • 拟人克劳德桌面应用程序(或光标或光标)
  • UV(Python包管理器),安装时使用 curl -LsSf https://astral.sh/uv/install.sh | sh

概念

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

演示

查看mcp光标视频

安装程序安装

通过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_desktop_config.json 在您的Claude Desktop配置目录中:

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

对于 光标,将此另存为 mcp.json 在Cursor配置目录中:

~/.cursor/mcp.json

对于 克莱恩,将此另存为 cline_mcp_settings.json 在您的配置中

  1. 重新启动客户端:Claude Desktop/Cursor/Cline/Windsurf 打开并重新启动mcp客户端ide。例如克劳德/库塞尔/克莱恩等

Windows兼容性

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

使其工作的步骤:

  1. 安装C编译器
    我们建议使用 Msys 2 安装适用于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.列出所有当前注册的知识来源

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

eg. Show me my arcknowledge list 
 

3.添加新的知识文档源

添加新的arcknowledge端点url文档源。 提供网址、描述目的和apikey(如果有的话)

eg. Add new arcknowledge data source. Endpoint is http://something.com/api/123.
Purpose is to handle questions on 123 topic. Api key is 'sk-2123123' 
 

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

使用Query_knowledge_base查询从这些源构建的arcknowledge库。

eg. Query for me my  knowledge base for product. Question is : Which is most expensive product? 


eg. Query for me my  arcknowledge base for business. Question is :When is the business established? 

eg. Query for me all my  arcknowledge base  . Question is :When is the business established? Which is most expensive product?

工具功能

  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          # Main server implementation
├── README.md           # Documentation
├── requirements.txt    # Project dependencies

光标AI MCP配置

  1. 创建一个 mcp.json 项目根目录中的文件:
{
    "name": "mcp-webhook-ai-agent",
    "version": "1.0.0",
    "description": "Webhook AI agent with RAG capabilities",
    "main": "main.py",
    "tools": [
        {
            "name": "set_document_source",
            "description": "Register a new document source URL for RAG operations"
        },
        {
            "name": "list_document_sources",
            "description": "List all registered document sources"
        },
        {
            "name": "query_rag",
            "description": "Query the specified document sources using RAG"
        },
        {
            "name": "process_post_query",
            "description": "Process a POST request with a query payload"
        }
    ],
    "dependencies": {
        "fastmcp": ">=0.4.0",
        "requests": ">=2.31.0",
        "pydantic": ">=2.0.0"
    }
}
  1. 配置光标AI:

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

# Check if MCP is properly configured
fastmcp check mcp.json

# List available tools
fastmcp list

添加新功能

  1. 在中定义新模型 main.py
  2. 使用添加新工具 @mcp.tool() 装饰器
  3. 根据需要更新文档

许可证

麻省理工学院

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交您的更改
  4. 推到分支
  5. 创建新的Pull请求