Acornio MCP Server
A Model Context Protocol server that provides access to knowledge base documents from GitHub repositories.
README
Acornio MCP Server
A Model Context Protocol (MCP) server that provides access to knowledge base documents from GitHub repositories.
Features
- 4 Tools:
listKnowledgeBases,listDocuments,searchDocuments,getDocument - Multiple Knowledge Bases: Supports multiple GitHub repositories as knowledge sources
- Auto-discovery: Automatically discovers markdown documents in configured repositories
- Stateless: Works on any hosting platform (Railway, Vercel, etc.)
Deployment
This is a Next.js application that can be deployed to any platform that supports Next.js.
Quick Deploy Options
- Vercel: Connect your GitHub repo and deploy with one click
- Railway: Connect your repo and Railway auto-detects Next.js
- Netlify: Connect your repo and configure build command:
npm run build - Fly.io: Use the Next.js template
- Any Node.js host: Run
npm run build && npm start
Deployment Steps
- Push your code to GitHub
- Connect your repository to your chosen hosting platform
- Add environment variables:
GITHUB_TOKEN(optional, for higher API rate limits)MCP_AUTH_TOKEN(optional, for securing access to your MCP server)
- Deploy! The platform should auto-detect Next.js and configure accordingly
Platform-Specific Notes
- Vercel: Zero configuration needed, just connect and deploy
- Railway: Auto-detects Next.js, no additional config required
- Netlify: May need to set build command:
npm run buildand publish directory:.next - Self-hosted: Ensure Node.js 18+ is installed and set
NODE_ENV=production
Configuration
Edit app/api/[transport]/route.ts to configure your knowledge bases:
const KNOWLEDGE_BASES = [
{
id: 'vision',
name: 'My Knowledge Base',
description: 'Description of knowledge base',
owner: 'github-username',
repo: 'repo-name',
branch: 'main',
path: './docs', // path to markdown files
},
// Add more...
];
Security & Authentication
This MCP server supports optional token-based authentication to secure access to your knowledge bases.
How It Works
- When
MCP_AUTH_TOKENis not set, the server accepts all requests (useful for local development or private networks) - When
MCP_AUTH_TOKENis set, clients must provide this token in theAuthorizationheader - The server accepts both
Bearer <token>and<token>formats
Setting Up Authentication
- Generate a secure random token (e.g.,
openssl rand -hex 32) - Set the
MCP_AUTH_TOKENenvironment variable on your hosting platform - Configure your MCP client with the same token (see examples below)
Best Practices
- Use a strong, randomly-generated token (at least 32 characters)
- Keep your token secret and never commit it to version control
- Rotate your token periodically
- Use HTTPS for all production deployments to protect the token in transit
Environment Variables
| Variable | Description | Required |
|---|---|---|
GITHUB_TOKEN |
GitHub personal access token for higher API rate limits (60/hr → 5000/hr) | No |
MCP_AUTH_TOKEN |
Authentication token for securing MCP server access. When set, clients must provide this token in the Authorization header. | No |
Connect to MCP Client
Cursor / Claude Desktop
Add to your MCP config (replace https://your-app.example.com with your deployed URL):
{
"mcpServers": {
"acornio-knowledge": {
"url": "https://your-app.example.com/api/mcp"
}
}
}
If you've configured MCP_AUTH_TOKEN, add authentication:
{
"mcpServers": {
"acornio-knowledge": {
"url": "https://your-app.example.com/api/mcp",
"headers": {
"Authorization": "Bearer your_token_here"
}
}
}
}
Or use mcp-remote for stdio transport:
{
"mcpServers": {
"acornio-knowledge": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://your-app.example.com/api/mcp"]
}
}
}
With authentication:
{
"mcpServers": {
"acornio-knowledge": {
"command": "npx",
"args": ["-y", "mcp-remote", "--header", "Authorization: Bearer your_token_here", "https://your-app.example.com/api/mcp"]
}
}
}
Note: Replace your-app.example.com with your actual deployment URL:
- Vercel:
your-app.vercel.app - Railway:
your-app.railway.app - Netlify:
your-app.netlify.app - Custom domain:
your-domain.com
Local Development
npm install
npm run dev
Server runs at http://localhost:3000/api/mcp
Available Tools
listKnowledgeBases
Lists all configured knowledge bases and their document counts.
listDocuments
Lists all documents, optionally filtered by knowledge base.
searchDocuments
Searches for documents by name/title across knowledge bases.
getDocument
Retrieves the full content of a specific document.
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.