mcp-knowledge-assistant
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., "@mcp-knowledge-assistantWhat did I learn about semantic search?"
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.
Project 3 — Custom MCP Server + LangGraph Agent (Fully-Free Stack)
A personal knowledge assistant built on the Model Context Protocol (MCP). A custom FastMCP server exposes tools (semantic note memory + web search); a LangGraph ReAct agent discovers and calls those tools over HTTP.
User Query -> LangGraph Agent -> MultiServerMCPClient -> MCP Server (FastMCP)
|-- Qdrant (notes) + FastEmbed (local)
|-- Tavily (web)Free stack (no paid keys)
Concern | Original | This setup (free) |
Embeddings | OpenAI | FastEmbed |
Agent LLM | Anthropic Claude | OpenRouter free model (one free key) |
Web search | Tavily | Tavily (free tier, optional) |
Vector store | Qdrant (Docker) | Qdrant (Docker) |
The note-memory tools (add_note, list_notes, search_notes) need no API
key at all — embeddings run locally. Only the agent's LLM needs a (free)
OpenRouter key.
Related MCP server: memory-mcp
Status on this machine
Component | Status |
venv + dependencies | installed ( |
Qdrant (Docker, :6333) | running |
MCP server (:8001) | running |
Memory pipeline (no keys) | VERIFIED via |
Agent wiring | VERIFIED via |
Full agent run | needs |
1. Add your free OpenRouter key
Get one at https://openrouter.ai/keys, then put it in .env:
OPENROUTER_API_KEY=sk-or-...
# OPENROUTER_MODEL=meta-llama/llama-3.3-70b-instruct:free # optional override
TAVILY_API_KEY= # optional web searchThe agent is a tool-calling ReAct agent, so the OpenRouter model must support function/tool calling. Good free options:
meta-llama/llama-3.3-70b-instruct:free,qwen/qwen-2.5-72b-instruct,deepseek/deepseek-chat. If a model ignores tools, switchOPENROUTER_MODEL.
2. Start the MCP server (own terminal)
venv/Scripts/python mcp_server.pyServes MCP at http://localhost:8001/mcp.
3. Verify without keys (optional)
venv/Scripts/python test_connection.py # tool discovery + list_notes
venv/Scripts/python test_memory.py # add -> list -> semantic search4. Run the agent (needs OpenRouter key)
venv/Scripts/python mcp_agent.py "Save a note titled 'RAG Tips': Always use hybrid search"
venv/Scripts/python mcp_agent.py "What did I learn about retrieval?"
venv/Scripts/python mcp_agent.py "What notes do I have?"
venv/Scripts/python mcp_agent.py "Search the web for news about LangGraph 2026" # needs TavilyCompatibility fixes applied vs. the original handout
The handout code targets older library versions. Updated for current releases:
Embeddings -> local FastEmbed (
mcp_server.py). No OpenAI key;EMBED_DIMchanged 1536 -> 384 to matchbge-small-en-v1.5.Agent LLM -> OpenRouter via
ChatOpenAI(base_url=...)(mcp_agent.py), replacinginit_chat_model("anthropic:...").MultiServerMCPClientis not a context manager anymore (langchain-mcp-adapters0.1.0+) — instantiated directly, thenget_tools().qdrant.search()->qdrant.query_points(...).points(qdrant-client 1.12+).
Inspect the server interactively (optional)
npx @modelcontextprotocol/inspector http://localhost:8001/mcpThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/deepxk2403/mcp-knowledge-assistant'
If you have feedback or need assistance with the MCP directory API, please join our Discord server