aik-mcp
aik-mcp turns a directory of Markdown files with YAML frontmatter into a live, queryable knowledge base served over the Model Context Protocol (MCP), letting AI agents discover, read, search, and manage reusable rules, skills, workflows, agents, commands, and templates at runtime.
List content (
list): Browse available knowledge items with optional filtering by category, tag, or text query.Retrieve content (
get): Fetch a specific knowledge item by its path (e.g.rules/typescript).Search content (
search): Perform full-text fuzzy search across all content, with optional category filtering and result limits.Write content (
write): Create or update a knowledge item with a Markdown body and YAML frontmatter (title, description, tags), with an overwrite option.Delete content (
delete): Remove a knowledge item by its path.Install content (
install): Push a knowledge item into the current project's AI agent config (opencode, Claude Code, or Cline) for automatic loading in future sessions.Reinstall content (
reinstall): Uninstall and re-install the latest version of a previously installed item.Uninstall content (
uninstall): Remove a specific installed item from the project config.Uninstall all (
uninstall_all): Remove all aik-managed items from the project config at once.List installed (
list_installed): See which knowledge items are currently installed in the project's agent config.Check for updates (
check_updates): Identify installed items that have newer versions available in the knowledge base.Update content (
update): Update a specific installed item to its latest version.
The server also provides live file-system synchronization, so the in-memory cache updates instantly when files change.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@aik-mcpsearch for typescript conventions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
aik-mcp turns a directory of Markdown files into a live, queryable knowledge base for any MCP-compatible AI agent — opencode, Claude Code, Cline, Codex, GitHub Copilot, and more.
Write your team's conventions, reusable workflows, agent prompts, and project templates as plain .md files with YAML frontmatter. aik-mcp serves them on demand — your agent can discover, read, search, and install them at runtime, across any project.
No database. No API to build. Just Markdown.
Features
Icon | Feature | Why it matters |
📝 | Knowledge as Markdown | Plain |
⚡ | Zero config |
|
🔎 | Full-text search | Fuzzy search across every rule, skill, and template — powered by Fuse.js. |
📦 | Install on demand | Push knowledge directly into your agent's runtime config with a single tool call. |
👀 | Live sync | A file watcher detects changes instantly. No restart. No downtime. |
🔌 | Universal MCP | Works with opencode, Claude Code, Cline, Codex, Copilot, and any MCP-compatible client. |
Related MCP server: MinerU Document Explorer
Quick start
1. Create a rule
mkdir -p my-knowledge/rules
cat > my-knowledge/rules/typescript.md << 'EOF'
---
title: TypeScript Conventions
description: Coding standards for TypeScript projects
tags: [typescript, conventions]
version: "1.0.0"
compatibility: [opencode, claude-code, cline, codex, copilot]
---
## TypeScript Conventions
- Use explicit types for public API surfaces
- Prefer `interface` over `type` for object shapes
- Use `const` assertions for literal values
EOF2. Start the server
AIK_CONTENT_DIR=./my-knowledge npx aik-mcp3. Ask your agent
"Find and apply the TypeScript conventions rule for this project."Your agent calls aik_search, reads the rule, and applies it — all transparently through MCP.
Docs
Full documentation is available at openhoat.github.io/aik-mcp.
How it works
graph LR
Agent[AI Agent<br>opencode / Claude Code / Cline / Codex / Copilot] -->|MCP JSON-RPC| Server(aik-mcp)
Server --> Store[Content Store<br>in memory]
Store --> Files[Markdown files<br>rules/ skills/ workflows/ ...]
Server --> Watcher[File Watcher<br>live sync on change]
Server --> Tools[MCP Tools<br>list, get, search, write,<br>install, uninstall]Your agent speaks MCP on one side. aik-mcp speaks your file system on the other. Everything is cached in memory for fast lookups, and a file watcher keeps the cache up to date.
Client configuration
opencode
Add to opencode.jsonc or .opencode/opencode.jsonc in your project:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"aik": {
"type": "local",
"command": ["npx", "-y", "aik-mcp"],
"enabled": true,
"environment": {
"AIK_CONTENT_DIR": "/path/to/your/knowledge",
"LOG_LEVEL": "info"
}
}
}
}Claude Code
Add to .mcp.json or ~/.claude/settings.json:
{
"mcpServers": {
"aik": {
"command": "npx",
"args": ["aik-mcp"],
"env": {
"AIK_CONTENT_DIR": "/path/to/your/knowledge",
"LOG_LEVEL": "info"
}
}
}
}Cline
Add to cline.json or project .mcp.json:
{
"mcpServers": {
"aik": {
"command": "npx",
"args": ["aik-mcp"],
"env": {
"AIK_CONTENT_DIR": "/path/to/your/knowledge",
"LOG_LEVEL": "info"
}
}
}
}Codex
Add to ~/.codex/config.toml or project .codex/config.toml:
[mcp]
"aik" = { command = ["npx", "aik-mcp"], env = { AIK_CONTENT_DIR = "/path/to/your/knowledge", LOG_LEVEL = "info" } }GitHub Copilot
Configure the MCP server in your IDE settings (VS Code, JetBrains, etc.) and add project instructions to .github/copilot-instructions.md:
## MCP servers
aik-mcp provides knowledge management. Use `aik_list`, `aik_get`, `aik_search`, `aik_install`, and related tools to manage rules, skills, workflows, and templates.Tip: Set
AIK_CONTENT_DIRto a shared path (Dropbox, git repo, team NAS, etc.) to use the same knowledge base across projects and agents.
Content structure
Content items are organized by category:
Directory | Purpose |
| Coding standards, conventions, quality gates |
| Reusable instruction blocks (prompts, recipes) |
| Multi-step process definitions |
| Specialized agent configurations |
| Custom CLI command definitions |
| File and project scaffolding |
Each file is a Markdown document with YAML frontmatter:
---
title: "My Rule"
description: "What this rule enforces"
tags: [tag1, tag2]
version: "1.0.0"
compatibility: [opencode, claude-code, cline, codex, copilot]
---
## My Rule
Content here...MCP tools
Tool | Description |
| List content items, optionally filtered by category or tag |
| Retrieve a specific item by path (e.g. |
| Full-text fuzzy search across all content |
| Create or update a content item from the agent |
| Delete a content item |
| Install an item into the project's agent config |
| Reinstall the latest version of an installed item |
| Remove an installed item from the project |
| Remove all aik-installed items from the project |
| List items currently installed in the project |
Resources
URI | Description |
| List all items in a category (e.g. |
| Search items by keyword |
CLI options
Flag | Default | Description |
| — | Start in HTTP/SSE mode instead of stdio |
|
| HTTP server port (only with |
| — | Disable file watching |
Environment variables
Variable | Default | Description |
|
| Path to the content directory |
|
| Log level: |
Development
npm install
npm run build
npm run test
npm run qaScripts
Script | Description |
| Compile TypeScript to |
| Run Vitest test suite |
| Lint + format check (Biome + markdownlint) |
| Auto-fix lint and formatting issues |
| TypeScript type checking ( |
| Full pipeline: qa → typecheck → build → test |
Contributing
Contributions are welcome! Open an issue or submit a PR.
See the changelog for release history.
Full documentation at openhoat.github.io/aik-mcp.
License
MIT
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/openhoat/aik-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server