The MCP address of one service
Updated 2026-11-13
Every published service has its own MCP address that offers only this one service. This page explains how to give it to customers or colleagues, what their AI can do with it, and how a public and a token-protected service differ.
What it is
The MCP address is an MCP server for one service. Someone who adds it to their AI gets tools to calculate with your service, and nothing else: no other service, no workbook, no account.
Use it for other people's AI. For your own AI, a connection to your account is the better choice, because it reaches all your services and needs no token. See How AI assistants use a service.
Find and share the address
- Open the service and select AI → Connect (KI → Verbinden).
- Under Someone else's AI: the MCP address of this service (Die KI von jemand anderem: die MCP-Adresse dieses Service) click Copy (Kopieren).
- Give the address to your customer or colleague. They add it to their AI as a custom connector (an MCP server).
The address has the form https://spreadapi.io/api/mcp/service/<service_id>.
The service must be published. For a draft the page says: "The service is a draft. These addresses answer once it is published."
Public or token-protected
Below the address the page tells you which case applies.
- Public: "This service is public: no sign-in is asked for." Anyone who has the address can calculate with the service.
- Protected: the AI asks for a sign-in, and the person pastes a token that you created under API → Access (API → Zugriff). The sign-in lasts 12 hours. This sign-in is built for ChatGPT; for Claude use an account connection.
To protect a service or to create tokens, see Tokens and access. Give each customer their own token: you can then revoke one without affecting the others, and the Usage (Nutzung) tab shows who calls.
What the other person's AI gets
When the AI connects, it is told:
- the name and description of the service;
- your notes from AI → Definition ("When the AI should use it");
- the rules for calling: calculate every number with the service instead of estimating, a call changes nothing and can be repeated, percentages are sent as decimals, how to compare options, how to show results;
- the list of outputs.
The tools:
| Tool | What it does |
|---|---|
spreadapi_calc | one calculation: input values in, outputs back |
spreadapi_batch | 2 to 20 scenarios in one call, for comparing options |
spreadapi_get_details | the inputs and outputs in full, with examples and the rules |
All tools only read and calculate. They do not change your service.
Good texts make the difference here. See AI → Definition.
Limits
- Each calculation counts as one call of the service; in a batch every scenario counts. When the month's calls are used up, the tools answer "Monthly call limit reached" and tell the AI not to retry. See Call limits.
- After you change the service, publish again. Callers keep getting the published version until then.
- Unpublishing the service switches the address off.
For developers and agents
Address: https://spreadapi.io/api/mcp/service/<service_id>. JSON-RPC 2.0 over HTTP POST; methods initialize, tools/list, tools/call. Protocol versions 2024-11-05, 2025-03-26 and 2025-06-18 are accepted.
Authentication:
- Public service: none.
- Protected service:
Authorization: Bearer <service token>, or the sign-in the client starts after an HTTP 401 answer ("Authentication required"). A sign-in is valid for this one service and for 12 hours. - A service that is not published answers HTTP 404 "Service not found or not published".
spreadapi_calc:
{ "inputs": { "loan_amount": 150000, "annual_rate": 0.045, "years": 15 } }- Input names are the parameter names; upper and lower case do not matter.
- The input schema lists each input with type,
enum(allowed values),minimum,maximum,defaultand description, and names the required ones. - The result holds
outputs(a list ofname,title,valueand, when present,formatString),inputs(the values as used) andmetadata(executionTimein milliseconds,cached, andexportUrlwhen the service allows Excel export). - A refused calculation comes back as a tool result with
isError: trueand a message that names the input and what is allowed.
spreadapi_batch:
{ "scenarios": [
{ "label": "15 years", "inputs": { "loan_amount": 150000, "annual_rate": 0.045, "years": 15 } },
{ "label": "20 years", "inputs": { "loan_amount": 150000, "annual_rate": 0.045, "years": 20 } }
] }- The result holds
scenarios(each withlabelandoutputs, orerrorif that scenario failed) andmetadata(scenarioCount,successCount,executionTime).
spreadapi_get_details takes no arguments and returns serviceName, description, aiUsageGuidance, aiPresentationGuidance (how the owner wants results presented), aiUsageExamples, inputs, outputs (each with its presentation note, if the owner wrote one), exampleInputs and instructions.
All tools carry the hints readOnlyHint: true and destructiveHint: false.
FAQ
How do I let a customer's AI use my service?
Copy the MCP address from AI → Connect and send it to the customer. They add it to their AI as a custom connector; for a protected service they also need a token from you.
What is the MCP address of my service?
It is https://spreadapi.io/api/mcp/service/<service_id> and is shown, ready to copy, on the service's AI → Connect page.
Can someone with the MCP address see my workbook or formulas?
No. The address offers only the calculation: the AI sends inputs and gets outputs.
Can the AI change my service through the MCP address?
No. All tools of the service address only read and calculate; a call changes nothing and can be repeated.
Which tools does the service MCP server offer?
spreadapi_calc for one calculation, spreadapi_batch to compare 2 to 20 scenarios, and spreadapi_get_details for the full list of inputs and outputs.
How do I protect the MCP address with a token?
Create a token under API → Access. The first token protects the service at once, without publishing again. The AI then asks for a sign-in, where the person pastes a token you created.
How long does the sign-in of a protected service last?
12 hours. After that the AI asks for the sign-in again.
How do I take the access away from one customer?
Revoke that customer's token under API → Access. This is why each customer should get their own token.
Does a batch of scenarios count as one call?
No. Every scenario in a spreadapi_batch call is calculated and counted as its own call.
As an agent, what do I call first on a service MCP address?
If the user gave you all required values, call spreadapi_calc right away. If you do not know the parameters yet or a calculation was refused, call spreadapi_get_details.