mcp-agent-toolkit
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-agent-toolkitWhat did Apple's 10-K say about total net sales?"
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.
mcp-agent-toolkit
An MCP (Model Context Protocol) server exposing two other projects in this portfolio as tools any MCP client -- Claude Desktop, or any other MCP-compatible app -- can call directly:
query_finance_filings-- hybrid RAG search (BM25 + semantic + cross-encoder reranking) with cited answers over 10 companies' real SEC 10-K filings, from rag-finance-assistant.fix_code_bug-- plans, writes, and test-verifies a fix for a seeded bug in a small demo repo, from code-fix-agent's bounded LangGraph loop.list_finance_companies-- lists the 10 available tickers.
MCP is the protocol OpenAI, Google DeepMind, and Microsoft have all adopted for connecting LLM clients to external tools -- this project is about proving I can package real, already-working agentic systems behind it, not a toy "hello world" server.
Why vendored, not a dependency on the sibling repos
vendor/rag_finance/ and vendor/code_fix_agent/ are copies of the
relevant source (and, for the finance side, the already-cleaned SEC filing
text) from the two sibling repos, not a pip install of them or a
git submodule. A recruiter who clones this repo should get a working
server without also having to clone and wire up two other repositories --
self-contained beats DRY for a single-purpose portfolio piece like this
one. The tradeoff, stated plainly: a bug fixed in the original
rag-finance-assistant or code-fix-agent repos won't automatically appear
here.
Related MCP server: toad-mcp-server
Setup
python -m venv .venv
.venv\Scripts\activate # source .venv/bin/activate on macOS/Linux
pip install -r requirements.txt
# One-time: build the local vector store for query_finance_filings.
# No API key needed -- embeddings are local sentence-transformers.
python scripts/build_finance_index.pyCreate a .env file at the project root (gitignored) with your own key,
only needed for query_finance_filings's generation step and for
fix_code_bug:
ANTHROPIC_API_KEY=sk-ant-...Connect it to Claude Desktop
Add this to Claude Desktop's claude_desktop_config.json (Settings ->
Developer -> Edit Config):
{
"mcpServers": {
"ai-portfolio-toolkit": {
"command": "C:\\path\\to\\mcp-agent-toolkit\\.venv\\Scripts\\python.exe",
"args": ["C:\\path\\to\\mcp-agent-toolkit\\server.py"],
"env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
}
}
}Restart Claude Desktop, then ask it something like "What did Apple's 10-K
say about total net sales? Use the finance filings tool." -- Claude will
call query_finance_filings itself and show the tool call in its UI.
Run the server directly (for debugging, not how an MCP client uses it)
python server.pySpeaks MCP over stdio -- not meant to be interacted with directly in a
terminal; use an MCP client (Claude Desktop, or the mcp SDK's own dev
inspector: mcp dev server.py) to actually call the tools.
Design choices, stated up front
Environment-variable API key, not per-call config. The sibling Streamlit dashboards pass keys through per-request config because they're shared multi-tenant deployments -- one process, many visitors, each supplying their own key. An MCP server launched by Claude Desktop is the opposite shape: one process per user, started by their own client. An env var set in that user's own
claude_desktop_config.jsonis the correct BYOK pattern here, not a shortcut.fix_code_bugnever opens a PR. Unlike code-fix-agent's own dashboard, there's no natural place in a tool call for a visitor to supply their own GitHub token and target repo, and letting an LLM's tool-call decision push code somewhere is a meaningfully bigger blast radius than proposing a diff it can review first. Scoped to "propose and verify a fix" only -- seemcp_tools/code_fix.py.query_finance_filingsdoesn't modify the vendored retrieval.py. Company filtering happens by biasing the retrieval query with the company's full name and filtering the returned pool by ticker afterward, rather than adding awherefilter to the vendored Chroma query -- keeps the vendored retrieval code byte-for-byte traceable back to its source project. Seemcp_tools/finance_qa.py.Every
fix_code_bugcall gets a disposable copy of the demo repo. Same statefulness lesson as code-fix-agent's own dashboard: operating on the vendored original directly would mean the first call's "fix" permanently fixes the seeded bug for every call after it.
Bugs found while building this, before any live run
Package name collision. The vendored
code_fix_agent/src/tools/package (repo_explorer.py,git_ops.py, etc.) has the same name as the wrapper package this project's own tools live in. With both onsys.path, Python resolvedimport toolsto whichever one came first and code-fix-agent's own internal imports (from tools.repo_explorer import write_file) broke withModuleNotFoundError. Fixed by renaming this project's wrapper package tomcp_tools/rather than touching the vendored code.Vendored files assumed a
src/nesting level that wasn't there.retrieval.py,generation.py, andindexing.pycomputePROJECT_ROOT = Path(__file__).resolve().parent.parent, correct in the original repo where they live atsrc/<file>.pyone level under the project root -- but I'd initially copied them straight intovendor/rag_finance/, which putPROJECT_ROOTone directory too high and broke every relative data path (data/processed/finance_docs.jsonnot found). Fixed by nesting them undervendor/rag_finance/src/to match the layout the code actually assumes, instead of editing the vendored files.
Tests
pytest tests/ -v6 tests: the server registers exactly the 3 expected tools with correct
input schemas, ticker validation/normalization, and fix_code_bug's
API-key guard -- all protocol-level, none need an Anthropic API key.
query_finance_filings's retrieval stage (BM25 + semantic + reranking) is
verified working end-to-end against the real indexed filings -- confirmed
it correctly isolates a single company's chunks from the shared 10-company
corpus. Its generation stage, and all of fix_code_bug, need a funded
Anthropic key to run past the point these tests reach -- not yet tested
live, same status as the sibling projects.
Stack
Official mcp Python SDK (stdio transport) + the vendored RAG and
LangGraph agent pipelines from rag-finance-assistant and code-fix-agent.
Status
Structurally verified: all 6 tests pass, tool registration/dispatch
confirmed through the real MCP server object (not mocked), retrieval
confirmed working against the real vector store. Generation
(query_finance_filings's answer step) and the full fix_code_bug loop
are code-complete but blocked on the same zero-credit Anthropic API key as
the rest of this portfolio -- see Status in the sibling repos' READMEs.
This 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.
Related MCP Servers
- AlicenseAqualityAmaintenanceAn MCP server that provides dynamic codebase context to Claude Code through tools like hybrid search, recent changes, and symbol definitions, enhancing AI-assisted coding with local RAG.Last updated8MIT
- Flicense-qualityDmaintenanceMCP server exposing portfolio AI tools including semantic search, evaluation framework, and prompt management, enabling natural language interaction with these services via Claude Desktop.Last updated
- Alicense-qualityCmaintenanceMCP server providing RAG context and failure capture for Claude Code, enabling semantic search across project knowledge and storing/analyzing failures.Last updated1MIT
- Alicense-qualityCmaintenanceA modular RAG server with hybrid search and LLM rerank, exposing 3 MCP tools for AI clients like Claude Desktop and Cursor.Last updatedMIT
Related MCP Connectors
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Local-first RAG engine with MCP server for AI agent integration.
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/naomytcheums-dotcom/mcp-agent-toolkit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server