MCP Server v1.2: Resources, Prompts, and Structured Output
Frihet MCP Server v1.2 introduces 5 static resources, 5 guided prompts, structured output, and security annotations. Everything you need to know about the update.

Key Takeaways
- 5 MCP Resources provide tax and configuration reference data without consuming API calls
- 5 MCP Prompts guide multi-step workflows like monthly close, quarterly tax prep, or collections follow-up
- Every tool returns outputSchema + structuredContent for reliable parsing in any AI agent
Version 1.2.1 of the Frihet MCP server does not add more tools. It adds intelligence. Resources so agents have tax context without asking. Prompts so they execute complete workflows without hand-holding. Structured output so every response is deterministically parseable.
This update turns the MCP server from a CRUD operations bridge into a full business management interface for AI agents.
Resources: reference data always available
MCP Resources are static data that agents can read at any time without calling the Frihet API. They do not consume quota, require no additional authentication, and are available from the moment the server connects.
v1.2 introduces 5 resources:
frihet://api/schema
Summary of all available endpoints, authentication methods, and rate limits. When an agent needs to know what it can do with Frihet, it reads this resource instead of discovering capabilities through trial and error.
frihet://tax/rates
Current tax rates in Spain: standard VAT (21%), reduced (10%), and super-reduced (4%); Canary Islands IGIC (7%, 3%, 0%); IRPF withholdings. The agent has this context before creating an invoice or recording an expense. It does not need to ask you which VAT rate applies if it already knows where your business operates.
frihet://tax/calendar
Quarterly filing deadlines: Modelo 303 (VAT), Modelo 130 (income tax), Modelo 420 (IGIC). When the agent prepares a quarterly close, it knows exactly when each obligation is due.
frihet://config/expense-categories
The 8 expense categories with their deductibility rules. Office supplies, utilities, transport, meals, training, insurance, professional services, other. Each category includes the deductibility percentage and applicable conditions.
frihet://config/invoice-statuses
The invoice status flow: draft, issued, sent, paid, overdue, voided. Each status includes permitted transitions and triggers that can fire (webhooks, notifications). The agent knows which actions are valid at each point.
Resources do not replace Tools. Tools operate on your actual data. Resources provide the static context agents need to operate correctly.
Prompts: guided workflows
A Tool executes one operation. A Prompt orchestrates multiple operations into a coherent workflow. The difference is going from "create this expense" to "process these 15 expense receipts, categorize them, apply the correct taxes, and confirm before creating."
v1.2 includes 5 prompts:
monthly-close
Guided monthly close. The agent reviews unpaid invoices, categorizes unassigned expenses, verifies that tax obligations for the period are covered, and generates a summary. A workflow that normally takes an hour of manual review, executed in a conversation.
onboard-client
New client onboarding. Determines the tax type based on client location (mainland VAT, Canary Islands IGIC, intra-EU), creates the record with the correct tax details, and generates a welcome quote. All in one sequence.
quarterly-tax-prep
Quarterly tax preparation. Gathers all invoices for the period, calculates VAT or IGIC tax bases, applies IRPF withholdings, and generates a preview of Modelo 303 or 130. The agent does the work; you or your accountant validate the result.
overdue-followup
Overdue invoice follow-up. Identifies all past-due invoices, groups them by client, calculates total outstanding amounts per client, and drafts personalized collection messages. From "I need to check what is owed to me" to "here are the drafts ready to send."
expense-batch
Batch expense processing. Takes a list of expenses, categorizes them according to configured rules, applies corresponding taxes, verifies deductibility for each one, and creates them with prior confirmation. Ideal for processing a week of accumulated receipts or travel expenses.
Prompts work in any compatible MCP client. In Claude Code, you can invoke them directly. In other agents, the prompt appears as an available workflow the agent can execute.
Structured output: parseable responses
Until now, MCP server responses were formatted text. Useful for human reading, but agents need structured data to make programmatic decisions.
v1.2 adds outputSchema and structuredContent to every tool. Each response includes a JSON schema describing exactly the structure of the returned data. The agent knows before calling what fields it will receive, what types they are, and which are optional.
This is what makes a prompt like quarterly-tax-prep reliably chain 4 operations: each step produces data with a known structure that the next step can consume without ambiguity.
For developers building integrations on top of the MCP server, this eliminates the need to parse free text. The response always has the same shape.
Security annotations
Every tool in the MCP server now includes annotations indicating whether the operation is read-only or destructive. A list-invoices is marked as read. A delete-expense is marked as destructive.
This lets agents implement confirmation policies. An agent can execute read operations without asking, but request explicit confirmation before deleting or modifying data. Security does not depend on the agent — it is defined by the server.
Universal install
The server installs with a single command in any compatible agent:
npx @frihet/mcp-server
Works in Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Codex, and any MCP client. For agents that support skills-based installation:
npx skills add Frihet-io/frihet-mcp
Both methods give access to 30+ tools, 5 resources, 5 prompts, and structured output.
Repository under Frihet-io
The MCP server has been transferred to the Frihet-io organization on GitHub. The repository URL is now github.com/Frihet-io/frihet-mcp. Previous links redirect automatically.
The npm package remains @frihet/mcp-server. No changes to installation.
Who this update is for
Professionals already using the MCP server gain Resources as automatic tax context and Prompts as workflows they previously executed step by step manually.
Developers building on Frihet gain structured output for deterministic integrations and security annotations for confirmation policies.
Accounting firms and tax advisors gain prompts tailored to their workflows: monthly close, quarterly prep, collections follow-up.
Any business using AI agents gains an MCP server that does not just execute operations, but knows how to chain them into real business workflows.
How to update
If you use npx @frihet/mcp-server, you already have the latest version. If you have a pinned installation:
npm update @frihet/mcp-server
No breaking changes. All existing tools maintain their interface. Resources, Prompts, and structured output are pure additions.
Full documentation at docs.frihet.io/desarrolladores. Source code on GitHub (Frihet-io/frihet-mcp). The package on npm as @frihet/mcp-server.
Frequently Asked Questions
What is the difference between Resources and Tools in MCP?
Tools execute actions against the API (create invoice, list expenses). Resources expose static reference data that agents can access without making API calls. Tax rates, filing calendars, or expense categories are always available as context.
What are MCP Prompts and how do they work?
Prompts are guided workflows that chain multiple tools in a logical sequence. Instead of running isolated operations, a prompt like monthly-close walks the agent step by step: review unpaid invoices, categorize expenses, verify tax obligations.
Do I need to update anything to use v1.2?
If you use npx @frihet/mcp-server, you get the latest version automatically. If you have a pinned installation, update with npm update @frihet/mcp-server. There are no breaking changes from v1.1.0.


