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.
The easiest way to install ArcKnowledge for Claude Desktop:
npx -y @smithery/cli install @dragonjump/mcp-ARCknowledge --client claude
git clone https://github.com/dragonjump/mcp-arcknowledge
cd mcp-arcknowledge
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.
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_config.json
in ~/Library/Application Support/Claude/
mcp.json
in ~/.cursor/
cline_mcp_settings.json
in your configuration directorycurl -LsSf https://astral.sh/uv/install.sh | sh
If you're using Windows, be aware that go-sqlite3
requires CGO to be enabled:
Install a C compiler
Install MSYS2 and add the ucrt64\bin
folder to your PATH
. A step-by-step guide is available here.
Run the server in development mode:
fastmcp dev main.py
Or install it for use with Claude:
fastmcp install main.py
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"
}
To view all registered knowledge sources:
Show me my arcknowledge list
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'
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?
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.
Listing Knowledge Sources
list_knowledge_document_sources() -> Dict[str, Dict[str, str]]
Returns all registered document sources.
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.
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.
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.
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"
}
}
}
}
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.
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.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.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