ArcKnowledge
STDIOMCP server for managing and querying custom webhook knowledge base endpoints.
MCP server for managing and querying custom webhook knowledge base endpoints.
This is a Model Context Protocol (MCP) server for your custom webhook endpoints (knowledgebase).
With this you can you can easily manage and query your list of knowledge base(webhook endpoints). You can add new document sources by registering their URLs, and optionally provide a description and API key.
You can also list all the registered document sources and view their details.
When you're ready to ask/search, you can query the knowledge base with a text question , specifying which sources to search or leaving it blank to search all of them.
The tool will then aggregate the results from the queried sources and provide them to you.
curl -LsSf https://astral.sh/uv/install.sh | sh
Imagine being able to bridge 1 unified setup where you can connect all your custom knowledge base endpoints webhook in one configuration, eliminating the need for multiple MCP servers.
To install ArcKnowledge for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @dragonjump/mcp-ARCknowledge --client claude
1.Clone repo
git clone https://github.com/dragonjump/mcp-arcknowledge cd mcp-arcknowledge
Configure endpoints
Make a copy or changeknowledge_document_sources.json
.
See sample_endpoint
folder for references on current knowledge endpoints api schema supported. You may change the code as you wish to fit your need.
Connect to the MCP server
Copy the below json with the appropriate {{PATH}} values:
{ "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" } } } }
For Claude, save this as claude_desktop_config.json
in your Claude Desktop configuration directory at:
~/Library/Application Support/Claude/claude_desktop_config.json
For Cursor, save this as mcp.json
in your Cursor configuration directory at:
~/.cursor/mcp.json
For cline, save this as cline_mcp_settings.json
in your configuration
If you're running this project on Windows, be aware that go-sqlite3
requires CGO to be enabled in order to compile and work properly. By default, CGO is disabled on Windows, so you need to explicitly enable it and have a C compiler installed.
ucrt64\bin
folder to your PATH
.This application consists of simple main component:
Python MCP Server (main.py
): A Python server implementing the Model Context Protocol (MCP), which provides standardized tools client to interact with data and invoke api call.
fastmcp dev main.py
Or install it for use with Claude:
fastmcp install main.py
Default loads knowledge sources from config
knowledge_document_sources.json
You may Load custom knowledge from mcp.json environment config
"env": {
"DOCUMENT_SOURCES_PATH": "C:/Users/Acer/OneDrive/Somewhere/YourDrive/your-custom.json"
}
Shows and explains the list of all registered knowledge sources.
eg. Show me my arcknowledge list
Add new arcknowledge endpoint url document sources. Provide url, description purpose and apikey(if any)
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'
Query the arcknowledge base built from these sources using query_knowledge_base.
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?
add_new_knowledge_document_source(url: str, description:str = None, apikey:str = None) -> str
list_knowledge_document_sources() -> Dict[str, Dict[str, str]]
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
mcp.json
file in your project root:{ "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" } }
Configure Cursor AI:
mcp.json
fileVerify Configuration:
# Check if MCP is properly configured fastmcp check mcp.json # List available tools fastmcp list
main.py
@mcp.tool()
decoratorMIT