personal-llm-wiki-kit
Enables querying a local wiki through MCP-style tools, including search, Q\&A, and knowledge map, with a web viewer for human browsing.
README
Personal LLM Wiki Kit
Clone this repository, add one source file to raw/, run one script, and open the local viewer. The result is a small LLM Wiki that an agent can query through MCP-style tools and a human can browse in the web UI.
This repo intentionally uses a generic name and generic wording so it can be published publicly without exposing course-related search terms.
What Is Included
| Area | Path | Purpose |
|---|---|---|
| Harness | harness/RULES.md |
Operating rules for agents that maintain the wiki |
| Skill | skills/wiki-maintainer/SKILL.md |
Reusable maintenance workflow for adding new sources |
| LLM Wiki | raw/, wiki/, wiki/schema/page.schema.json |
Source folder, rendered wiki pages, and page schema |
| Visualization Tool | tools/wiki_mcp_server.py |
Local MCP-style server, wiki viewer, search, Q&A, and knowledge map |
| Ingestion Script | scripts/ingest_source.py |
Converts one text/Markdown source into a wiki page |
| Demo Evidence | demo/rendered-wiki.png |
Screenshot of a real rendered knowledge base |
Requirements
- Python 3.10 or newer
- A web browser
- No external Python package is required
30-Minute Quick Start
- Clone the repo and enter the folder.
git clone <your-public-repo-url>
cd <repo-folder>
- Put one source file into
raw/.
Example:
raw/my-first-note.md
- Convert the source into a wiki page.
python scripts/ingest_source.py raw/my-first-note.md --title "My First Note"
This creates a Markdown page in wiki/pages/.
- Start the viewer and MCP tool server.
python tools/wiki_mcp_server.py
- Open the viewer.
http://127.0.0.1:8767
- Confirm the new page appears in the left page list. Use search or the question box to test the page.
MCP Tool Endpoint
The local endpoint is:
POST http://127.0.0.1:8767/mcp
Tool List
| Tool | Description |
|---|---|
wiki.list_pages |
Returns page metadata for every wiki page |
wiki.search |
Searches title, tags, summary, and body |
wiki.get_page |
Returns one full page by slug |
wiki.related_pages |
Finds pages related by category and tags |
wiki.ask |
Produces a source-grounded answer from matching pages |
wiki.knowledge_map |
Returns nodes and links for the visualization view |
wiki.ingest_raw |
Creates a wiki page from raw text supplied by an agent |
Example: List Tools
curl -s http://127.0.0.1:8767/mcp ^
-H "Content-Type: application/json" ^
-d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}"
PowerShell:
Invoke-RestMethod -Uri http://127.0.0.1:8767/mcp -Method Post -ContentType "application/json" -Body '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Example: Ask The Wiki
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "wiki.ask",
"arguments": {
"question": "What is PER and why does valuation matter?"
}
}
}
How To Add Your Own Knowledge
Use either the script or the MCP tool.
Script path:
python scripts/ingest_source.py raw/example.md --title "Example" --category note --tags example,wiki
MCP path:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "wiki.ingest_raw",
"arguments": {
"title": "Example",
"content": "# Example\n\nImportant source notes...",
"category": "note",
"tags": ["example", "wiki"]
}
}
}
After ingestion, reload the viewer. The page is immediately available to the search, Q&A, and knowledge map.
Agent Integration Request Template
Use this prompt with an agent:
Read harness/RULES.md and skills/wiki-maintainer/SKILL.md.
Ingest raw/<filename> into the wiki.
Then verify with wiki.list_pages, wiki.search, and wiki.get_page through the MCP endpoint.
Do not invent facts that are not in the source.
Verification Checklist
python scripts/ingest_source.py raw/my-first-note.md --title "My First Note"creates a file underwiki/pages/.python tools/wiki_mcp_server.pystarts without installing packages.http://127.0.0.1:8767shows the wiki viewer.- The left page list contains the new page.
- The search box finds words from the new page.
- The knowledge map changes after adding a new page.
wiki.askreturns an answer with source page metadata.
Safety Notes
- Do not put API keys in source files or scripts.
- Do not commit private notes unless the public repository is allowed to contain them.
- The included finance sample pages are educational examples only and are not investment advice.
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.