week7-mcp-server
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., "@week7-mcp-serverCan you list all invoices over $1,000 and fetch the related purchase orders?"
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.
Week 7 — MCP (giving an agent its own tools, the standard way)
Part of my journey leveling up automation skills as the field shifts toward AI. This week is about Model Context Protocol (MCP) — instead of pasting data into a prompt, the LLM is handed a small set of tools and decides for itself which ones to call, in which order, to answer a question.
Why this week matters: hardcoding data into a prompt doesn't scale past a demo. MCP is the emerging standard for "here are your tools and data sources, go" — it's what lets an agent plug into a live system instead of a snapshot.
The architecture
[client.py asks a question]
|
v
[Claude sees 3 tool definitions — no invoice data in the prompt]
| decides which tools to call, with what arguments
v
[MCP server (server.py): list_invoices / get_invoice / get_purchase_order]
| returns live data over stdio
v
[Claude reasons over the results and answers]Continuity: Week 2 extracted an invoice from a document. Week 6 decided what to do with an invoice exception, given data the bot already had in hand. This week, the data itself lives behind an MCP server — an agent fetches its own facts instead of having them handed to it. Combine this with Week 6's policy-guarded decision service and you get Portfolio Project #4 on the roadmap: an agent that both looks things up and hands the judgement call to an auditable rule layer.
Related MCP server: Invoice MCP Server
What's here
File | Role |
| The MCP server — exposes |
| Spawns the server and drives it from Claude — no server process to start separately |
| Unit tests for the tool functions — no API key needed |
1. Run it
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
# copy .env.example to .env and paste your key
python src/client.pyclient.py spawns server.py itself over stdio (that's how MCP typically
works for local tools — no HTTP port to manage, unlike Week 6). Watch the
[MCP tool call: ...] lines print as Claude decides what it needs to look up.
Run the unit tests for the tool logic (no API key needed):
pytest2. The key design idea: tools + data over a standard protocol
Before MCP, "give the model a tool" meant hand-rolling a JSON schema and a
dispatch if/elif for every project. MCP standardizes that: server.py
declares tools once with @mcp.tool(), and any MCP-speaking client — this
repo's client.py, Claude Desktop, another team's agent — can discover and
call them the same way. That's the "connecting agents to real tools" pitch:
the tool-provider and the agent don't need to be written by the same person.
3. What I learned / production-ready vs. not
MCP separates who owns the data from who reasons about it — the server doesn't know or care which LLM is calling it.
Model choice matters here too: this is orchestration (deciding which tool to call), not hard judgement, so a cheap/fast model (
claude-haiku-4-5) is the right call — save Opus-tier reasoning for the kind of decision Week 6 makes.Not production-ready: the "ERP" is an in-memory dict, the server has no auth, and there's no real MCP resource (only tools) — a production version would likely expose invoice records as MCP resources too. (Weeks 8+.)
Stack
Python · MCP (official Python SDK) · Claude (claude-haiku-4-5 for
tool-driving) · Anthropic SDK · pytest
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
- FlicenseBqualityBmaintenanceBridges to a simple_invoicing FastAPI backend, exposing invoice, product, ledger, inventory, buyer, and payment management as MCP tools for use with MCP-compatible clients.15
- AlicenseNot gradedqualityDmaintenanceEnables invoice management through MCP, including customer, invoice, and report operations with CLI and web interfaces.MIT
- AlicenseNot gradedqualityAmaintenanceEnables agents to generate, track, and manage invoices via MCP tools, with CLI support for payment tracking and earnings summaries.MIT
- AlicenseNot gradedqualityCmaintenanceA lightweight, local inventory-intelligence MCP server that enables querying structured inventory schemas with read-only, zero-config tools for stock levels, velocity metrics, and purchase orders.10MIT
Related MCP Connectors
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
A paid remote MCP for hosted MCP server, built to return verdicts, receipts, usage logs, and audit-r
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/m-rocafort/week7-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server