ArcKnowledge (Custom RAG) MCP server

Bridges AI systems to custom knowledge base APIs for retrieval-augmented generation across multiple text and image sources with configurable authentication and processing capabilities.
Back to servers
Setup instructions
Provider
SEANLON
Release date
Apr 09, 2025
Language
Python
Stats
1 star

MCP ArcKnowledge is a Model Context Protocol server that enables you to easily manage and query multiple custom webhook endpoints (knowledge bases) from a single unified setup. It allows you to register document sources with their URLs, descriptions, and API keys, then query them individually or collectively through a simple interface.

Installation

Installing via Smithery

The easiest way to install ArcKnowledge for Claude Desktop:

npx -y @smithery/cli install @dragonjump/mcp-ARCknowledge --client claude

Manual Installation

  1. Clone the repository
git clone https://github.com/dragonjump/mcp-arcknowledge
cd mcp-arcknowledge
  1. Configure endpoints

Make a copy or modify the knowledge_document_sources.json file to include your knowledge endpoints. You can reference the sample_endpoint folder for the current knowledge endpoints API schema supported.

  1. Connect to the MCP server

Copy the JSON configuration below and update the paths as needed:

{
    "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"
            }
        }
    }
}

Save this configuration file to the appropriate location based on your client:

  • Claude Desktop: Save as claude_desktop_config.json in ~/Library/Application Support/Claude/
  • Cursor: Save as mcp.json in ~/.cursor/
  • Cline: Save as cline_mcp_settings.json in your configuration directory
  1. Restart your client (Claude Desktop/Cursor/Cline/Windsurf)

Prerequisites

  • Go
  • Python 3.6+
  • Anthropic Claude Desktop app (or Cursor or Cline)
  • UV (Python package manager), install with curl -LsSf https://astral.sh/uv/install.sh | sh

Windows Compatibility

If you're using Windows, be aware that go-sqlite3 requires CGO to be enabled:

  1. Install a C compiler

    Install MSYS2 and add the ucrt64\bin folder to your PATH. A step-by-step guide is available here.

Usage

Starting the Server

Run the server in development mode:

fastmcp dev main.py

Or install it for use with Claude:

fastmcp install main.py

Available Tools

1. Loading Knowledge Sources

By default, the server loads knowledge sources from knowledge_document_sources.json. You can specify a custom path through the environment variable in your MCP configuration:

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

2. Listing Knowledge Sources

To view all registered knowledge sources:

Show me my arcknowledge list

3. Adding New Knowledge Sources

To add a new knowledge source:

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. Querying Knowledge Sources

To query specific or all knowledge sources:

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

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

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

Tool Functions

  1. Adding Knowledge Sources

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

    Registers a new document source URL with optional description and API key.

  2. Listing Knowledge Sources

    list_knowledge_document_sources() -> Dict[str, Dict[str, str]]
    

    Returns all registered document sources.

  3. Querying Knowledge Base

    query_knowledge_base(query: str, source_ids: List[str] = [], image: str = '') -> str
    

    Queries specified document sources (or all if none specified) with a text query and optional image data.

Troubleshooting

  • If you encounter permission issues with UV, add it to your PATH or use the full path to the executable.
  • Ensure both the Go application and Python server are running for proper integration.

How to install this MCP server

For Claude Code

To add this MCP server to Claude Code, run this command in your terminal:

claude mcp add-json "mcp-arcknowledge" '{"command":"cmd /c uv","args":["--directory","{{PATH_TO_REPO}}","run","main.py"],"env":{"DOCUMENT_SOURCES_PATH":"{{PATH_TO_CONFIG}}/knowledge_document_sources.json"}}'

See the official Claude Code MCP documentation for more details.

For Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "mcp-arcknowledge": {
            "command": "cmd /c uv",
            "args": [
                "--directory",
                "{{PATH_TO_REPO}}",
                "run",
                "main.py"
            ],
            "env": {
                "DOCUMENT_SOURCES_PATH": "{{PATH_TO_CONFIG}}/knowledge_document_sources.json"
            }
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.

For Claude Desktop

To add this MCP server to Claude Desktop:

1. Find your configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2. Add this to your configuration file:

{
    "mcpServers": {
        "mcp-arcknowledge": {
            "command": "cmd /c uv",
            "args": [
                "--directory",
                "{{PATH_TO_REPO}}",
                "run",
                "main.py"
            ],
            "env": {
                "DOCUMENT_SOURCES_PATH": "{{PATH_TO_CONFIG}}/knowledge_document_sources.json"
            }
        }
    }
}

3. Restart Claude Desktop for the changes to take effect

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later