Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Free client billing for AI assistants: hours, expenses, timers, invoices and payments.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.otisbase.com/mcpRun this in your terminal
claude mcp add --transport http otis https://mcp.otisbase.com/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"otis": {
"url": "https://mcp.otisbase.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"otis": {
"type": "http",
"url": "https://mcp.otisbase.com/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.otisbase.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain otisbase.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (0.1.0) reached the registry 14 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, FlyDocs
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Spec-driven development workflow: your agent works issues, sessions and the status lifecycle.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The source code of Otisbase, a free MCP server for client billing, built for consultants and small agencies.
Otis has no app or dashboard. Your AI assistant is the interface: it records clients, work, expenses and payments in Otis, and issues the invoices you approve. Otis stores the records and enforces the rules. It numbers invoices, calculates totals, requires your exact total before it issues an invoice, and never rewrites an issued invoice. Otis runs no AI model; every result comes from the records and the rules in this repository.
This repository is the complete service that runs at mcp.otisbase.com: the MCP server, email sign-in and the storage layer. It runs on Cloudflare Workers. The otisbase.com website is maintained separately.
Add this URL as a remote MCP server in your assistant:
https://mcp.otisbase.com/mcp
Sign-in uses OAuth with an email code, so there is no API key. How to install has a guide for Claude, ChatGPT, Claude Code, Codex, Cursor, Muse, Grok Bot and Mistral Vibe. The hosted service is free. Records are stored in the EU.
| Area | Records |
|---|---|
| Business | Business details, tax settings and invoice numbering, used by its owner |
| Clients | Clients and their billing details |
| Work | Billable time, services, reported AI usage and expenses |
| Invoices | Drafts, issued invoices with immutable contents, discounts and tax |
| Payments | Full and partial payments, with references that prevent duplicates |
| Export | A complete export of the business records |
| Part | Implementation |
|---|---|
| Runtime | One Cloudflare Worker (src/index.ts) |
| MCP server | @modelcontextprotocol/server over Streamable HTTP at /mcp (src/mcp.ts) |
| Sign-in | @cloudflare/workers-oauth-provider with an email code (src/auth.ts) |
| Business records | SQLite in one Durable Object per business (src/business-store.ts) |
| Accounts and sign-ins | Durable Objects (src/account-store.ts, src/sign-in-store.ts) |
| OAuth state | Workers KV |
| Cloudflare Email Sending, for sign-in codes and security notices | |
| Data location | Durable Objects in the EU jurisdiction (src/regions.ts) |
| Sign-in pages | Server-rendered HTML with its own small stylesheet (src/html.ts, src/shell.ts) |
Every business operation checks the caller's current membership. Amounts are integers in minor units. Writes take a request ID, so a retried call does not record the same fact twice.
| Path | Contents |
|---|---|
src/ | Worker, MCP tools, sign-in, storage, billing rules and public docs |
test/ | Integration tests in Cloudflare's local runtime |
scripts/ | Live endpoint checks and the plugin generator |
Read the MCP docs before you change behavior. The rules agents follow are in src/docs.ts, src/descriptions.ts and src/workflows.ts, and the tests in test/ show the rules the server enforces.
You need Node 24 or newer.
npm ci
npm run check npm test
Tests run in Cloudflare's local runtime. Email delivery is simulated in tests.
To run the Worker locally:
npm run dev -- --local --ip 127.0.0.1 --port 8788
Then open http://127.0.0.1:8788/health. The local runtime uses local storage only.
The plugins for each assistant are generated from src/workflows.ts in the private project and published as their own repositories; Skills links them.
You can run your own copy on a Cloudflare account. Edit wrangler.jsonc before you deploy:
account_id to your Cloudflare account.kv_namespaces. For EU storage, create it in the EU jurisdiction.routes with your own domains.vars:ORIGIN: the URL of the MCP host.SITE_ORIGIN: the URL of your website. Website pages opened on the MCP host redirect there, and the sign-in pages link to its Terms and Privacy Policy.EMAIL_FROM: the sender for sign-in codes. The domain must be set up for Cloudflare Email Sending.FEEDBACK_TO: the address that receives feedback sent through the feedback_send tool.DO_JURISDICTION: eu keeps Durable Objects in the EU. Remove it to let Cloudflare choose.SIGN_IN_ENABLED: true to allow sign-in.ratelimits.namespace_id to an ID that is unique in your account.Then deploy:
npx wrangler login
npm run deploy
The sign-in pages and emails name Otisbase. Change them in src/html.ts, src/auth.ts and src/notify.ts, and publish your own terms and privacy policy, before you offer your copy to other people.
Bug reports, fixes and ideas are welcome. See CONTRIBUTING.md. To report a security problem, see SECURITY.md. You can also send feedback from your assistant: ask it to send feedback to Otis.
The code is released under the MIT License.
These items are not covered by the MIT License:
src/fonts/, under the SIL Open Font License.The copy and check icons in src/html.ts come from Phosphor Icons (MIT).