Provides tools for managing and querying custom knowledge base webhook endpoints, allowing users to register sources, list available knowledge bases, and perform searches across one or multiple sources.
MCP ArcKnowledge
How it works?
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.
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
Concept
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.
Demo
Setup Installation
Installing via Smithery
To install ArcKnowledge for Claude Desktop automatically via Smithery:
1.Clone repo
Configure endpoints Make a copy or change
knowledge_document_sources.json
. Seesample_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:
For Cursor, save this as mcp.json
in your Cursor configuration directory at:
For cline, save this as cline_mcp_settings.json
in your configuration
Restart Client: Claude Desktop / Cursor / Cline / Windsurf Open and restart your client ide for mcp. eg Claude/Cursor/Cline/etc
Windows Compatibility
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.
Steps to get it working:
Install a C compiler
We recommend using MSYS2 to install a C compiler for Windows. After installing MSYS2, make sure to add theucrt64\bin
folder to yourPATH
.
→ A step-by-step guide is available here.
Architecture Overview
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.
Data Storage
All storage is runtime local main python server.
Technical Details
Client sends requests to the Python MCP server
The MCP server lookup its runtime config knowledge base.
Then based on your queries, it calls your knowledge base endpoint api,
Troubleshooting
If you encounter permission issues when running uv, you may need to add it to your PATH or use the full path to the executable.
Make sure both the Go application and the Python server are running for the integration to work properly.
Starting the Server
Config Run the server in development mode:
Or install it for use with Claude:
Available Tools
1. Default Loads knowledge list from knowledge_document_sources.json
Default loads knowledge sources from config
You may Load custom knowledge from mcp.json environment config
2. List all currently registered knowledge sources
Shows and explains the list of all registered knowledge sources.
3. Add New Knowledge Document Source
Add new arcknowledge endpoint url document sources. Provide url, description purpose and apikey(if any)
4. Querying Specific Knowledge Doc Source
Query the arcknowledge base built from these sources using query_knowledge_base.
Tool Functions
add_new_knowledge_document_source(url: str, description:str = None, apikey:str = None) -> str
Registers a new document source URL, optionally with a description and API key.
Returns: Confirmation message with the new source ID.
list_knowledge_document_sources() -> Dict[str, Dict[str, str]]
Lists all registered document sources.
Returns: Dictionary mapping source IDs to their details (URL, description, API key).
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.
Returns: Aggregated results from the queried sources.
Development
Crucial filesProject Structure
Cursor AI MCP Configuration
Create an
mcp.json
file in your project root:
Configure Cursor AI:
Open Cursor AI settings
Navigate to the MCP section
Add the path to your
mcp.json
fileRestart Cursor AI to apply changes
Verify Configuration:
Adding New Features
Define new models in
main.py
Add new tools using the
@mcp.tool()
decoratorUpdate documentation as needed
License
MIT
Contributing
Fork the repository
Create your feature branch
Commit your changes
Push to the branch
Create a new Pull Request
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
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
Related MCP Servers
- AsecurityAlicenseAqualityProvides tools for listing and retrieving content from different knowledge bases using semantic search capabilities.Last updated -025The Unlicense
- -securityFlicense-qualityA document knowledge base system that enables users to upload PDFs and query them semantically through a web interface or via the Model Context Protocol, allowing integration with AI tools like Cursor.Last updated -22
- -securityFlicense-qualityIntelligent knowledge base management tool that enables searching, browsing, and analyzing documents across multiple datasets with smart document analysis capabilities.Last updated -16
- -securityAlicense-qualityEnables interaction with BookStack knowledge management systems through the BookStack API. Supports searching, reading, creating, and updating documentation content with secure authentication and dual transport modes for flexible deployment.Last updated -MIT License