Last week I shipped receiptconverter-mcp — a 150-line Node.js wrapper around the ReceiptConverter API that publishes it as a Model Context Protocol server.
It took an afternoon. The ROI is already visible.
Here's why I think every API-first SaaS should do the same.
What you're missing without MCP
If you have a public API today, here's how a developer discovers and integrates it:
- Finds you via Google, Product Hunt, or a friend
- Reads your docs
- Creates an account
- Writes the API call manually
- Handles auth, errors, and edge cases themselves
- Ships it
That funnel has friction at every step. And it assumes the developer is looking for your solution in the first place.
Now imagine a different path:
- Developer is using Cursor or Claude
- They want to process a receipt
- Their AI assistant already has
convert_receiptin its tool list - The agent calls it automatically — no manual HTTP code, no reading docs, no auth setup
You went from "discoverable by humans" to "usable by AI agents without friction." That's a qualitatively different distribution surface.
The directories are the moat
The MCP ecosystem has its own discovery layer: mcpmarket.com, glama.ai/mcp/servers, aiagentslist.com. These directories list MCP servers the way npm lists packages or Product Hunt lists launches.
Right now, these directories are early. The competition is thin. The developers browsing them are exactly the kind of power users — AI builders, Cursor users, Claude Desktop users — who become your most engaged customers.
You can't get listed in these directories with a raw API. You need an MCP server. That's the moat.
The build cost is minimal
Let me be specific about what "an afternoon" means.
The core of an MCP server:
// ~50 lines — this is essentially the whole thing
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [{
name: "convert_receipt",
description: "Parse a receipt or invoice into structured JSON...",
inputSchema: { type: "object", properties: { url: { type: "string" } } },
}],
}));
server.setRequestHandler(CallToolRequestSchema, async ({ params }) => {
const result = await fetch("https://yourdomain.com/api/v1/convert", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.YOUR_API_KEY}` },
body: JSON.stringify({ url: params.arguments.url }),
});
const data = await result.json();
return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
});
If your API has good documentation, you can write this in an hour. Another hour to package it for npm, write a README, create a GitHub repo, and submit to a couple of directories.
What you get
1. Immediate discoverability in MCP directories Every major MCP directory accepts submissions by GitHub URL. Within 24-48 hours of submitting, you're listed alongside Stripe, GitHub, and Notion as tools that AI agents can use.
2. Zero-friction trial for AI-native users A developer using Cursor doesn't have to leave their editor to try your product. They add your MCP server to their config and their AI assistant can call your API in the next prompt. That's a dramatically shorter path from "heard about it" to "it's working."
3. Discovery via AI assistants themselves
Claude, Cursor, and other tools increasingly recommend MCP servers in response to user requests. If a user asks Claude "how do I parse receipts?", Claude knows about receiptconverter-mcp because it's in the MCP directories — and it can tell the user to install it.
4. Open-source signaling The MCP server lives on GitHub, where your credibility compounds. Stars, forks, and issues are visible signals of usage. For developer tools, this matters.
What it is and isn't
It's not a replacement for your API. The MCP server is a thin wrapper. Your existing API does the work. MCP is just a new interface to it.
It's not a new security risk. The API key belongs to the user, stored in their local config. Your server sees the same authenticated POST requests it always did. See our security page for details.
It's not complex to maintain. When your API changes, you update one file in a 150-line Node.js package and publish a new version to npm. That's it.
The timing is right
AI tool usage is growing fast, and the MCP ecosystem is still early. The developers building agents, automations, and AI-powered apps today are looking for tools that speak their language.
The ones that ship MCP servers now get indexed, get listed, get recommended. The ones that wait will end up shipping in a more crowded market.
The effort is one afternoon. The distribution is compound.
ReceiptConverter's MCP server: receiptconverter-mcp on npm — source on GitHub
Build your own: MCP / AI Agents guide