commitd

Apps and MCP servers, hosted

Give your business an AI door.

Build apps and MCP servers your customers and their assistants can use. One file. Live in a minute. Login, database, files, jobs and connections come with it.

your-name.commitd.ai no servers versions and rollback made in the Netherlands
app.jscoach.commitd.ai/mcp
export default {
  tools: {
    'book_session': {
      description: 'Book a coaching session',
      input: { type: 'object',
        properties: { date: { type: 'string' } },
        required: ['date'] },
      async run(input, ctx) {
        const user = ctx.auth.require();
        await ctx.db.exec(
          'INSERT INTO bookings (email, date) VALUES (?, ?)',
          user.email, input.date);
        return `Booked ${input.date}`;
      },
    },
  },
};
52.37° N · 4.90° E

Who it is for

01Three kinds of builders

businesses

Put an MCP in front of your systems

Let customers ask their assistant about an order, book an appointment or get an answer from your FAQ. You decide which actions exist and who may call them.

  • Order status, returns, bookings
  • Connected to your shop, CRM or calendar
  • Public or login-only
coaches and consultants

Give every client their own assistant

Your programme, your check-ins, your bookings, available inside the AI tool your clients already use. Each client logs in with an email link and only sees their own data.

  • Invite clients by email
  • Weekly check-ins and progress
  • Roles for clients and staff
builders

Ship small apps and automations

Paste one JavaScript file and get a live address. Webhooks, portals, scheduled reports, internal tools. No servers, no npm, no deploy pipeline to babysit.

  • Paste, upload or use the command line
  • Every deploy is a version
  • Roll back in one click

How it works

02One file. Live in a minute.

An app is a single JavaScript file that exports fetch for web requests and tools for an MCP server. The platform serves your tools at /mcp, handles login, and gives your code a database, files and jobs through one object called ctx.

  1. Describe it

    Paste our prompt into Claude or ChatGPT and say what you want. Or start from a template.

  2. Paste it

    Create a project in the dashboard, pick the building blocks, paste the file and press Deploy.

  3. Share the address

    Your app lives at your-name.commitd.ai. Your MCP server at /mcp. Connect it to any assistant.

app.jstools · resources · fetch
export default {
  // MCP tools, served at /mcp
  tools: {
    'order_status': {
      description: 'Look up the status of an order',
      input: { type: 'object',
        properties: { number: { type: 'string' } },
        required: ['number'] },
      async run(input, ctx) {
        const user = ctx.auth.require();
        const [o] = await ctx.db.query(
          'SELECT * FROM orders WHERE number = ? AND email = ?',
          input.number, user.email);
        return o ?? 'No order with that number.';
      },
    },
  },
  // Read-only documents the assistant may open
  resources: {
    'returns-policy': { mimeType: 'text/markdown',
      async read(ctx) { return await ctx.kv.get('policy'); } },
  },
  // Optional: a normal web page too
  async fetch(req, ctx) {
    return new Response('Hello');
  },
};

Building blocks

03Turn on what you need

Each block is one switch on the project. Your code reaches it through ctx. Nothing to install, nothing to configure.

Database

A SQL database that belongs to this app. Tables, rows, queries, migrations.

ctx.db.query('SELECT …')
Login

Hosted login with email links. Invite users, give roles. Your code sees who is signed in.

ctx.auth.require('admin')
Files

Store uploads and documents and serve them from the app's own address.

ctx.files.put('report.pdf', body)
Jobs

Background work and schedules. Nightly reports, retries, slow tasks after a webhook.

ctx.jobs.enqueue('send-report')
Connections

Call outside systems such as Shopify, HubSpot, Slack or Stripe. We hold the credentials.

ctx.connections.shopify.fetch('/orders')
MCP

Serve your tools, resources and prompts to AI assistants at /mcp. Public or login-only.

tools: { … }

Login for your MCP

04The hard part, solved.

AI assistants expect an MCP server to speak OAuth. Most people never want to build that. We did, once, for every app on the platform.

  1. OAuth handled

    When Claude, Cursor or any assistant connects, the login dance runs on your app's own address. Nothing to set up.

  2. Email login link

    Your users sign in with a link sent to their inbox. No passwords to manage, no accounts to reset.

  3. Invite users and set roles

    Add clients or staff by email in the dashboard. Give them roles like client or admin. Tools check them with ctx.auth.require('admin').

  4. Tokens for the rest

    Clients that only take a bearer token get one from a hosted page on your app. Revoke it any time.

  5. Or keep it public

    A product FAQ or opening hours do not need a login. Set the MCP server to public and share the link.

Connecting

05Works where your users already are

Every MCP server gets one address. Share it and the assistant takes it from there.

Claude.ai and Claude Desktop
Settings → Connectors → Add custom connector
URL: https://your-name.commitd.ai/mcp
Claude Code
claude mcp add --transport http your-name \
  https://your-name.commitd.ai/mcp
Cursor and others · mcp.json
{ "mcpServers": {
    "your-name": { "url": "https://your-name.commitd.ai/mcp" }
} }
Any client with a token
Authorization: Bearer <token>
Tokens: https://your-name.commitd.ai/_auth/tokens

Pricing

06Two plans. Cancel any time.

Pro €19/ month

For a coach, a shop or a builder with a few things live.

  • 10 projects
  • MCP server with login
  • 500 login users per app
  • 10 connections, 1 custom domain per project
Choose Pro
Business €79/ month

For teams and agencies with many apps and many users.

  • 50 projects
  • Unlimited login users
  • Unlimited connections, custom domains
  • Priority email support
Choose Business

Full comparison and questions

Get started

Your first MCP server, today.