Docs
MCP server

Run the local server

Run the Agoo MCP server on your own computer over stdio, authenticated with an API key, for development, test mode and tightly scoped access.

Planned· P9For developers

This is designed and scheduled but not built yet. We document it now so you can plan your integration.

The local server is the same set of tools as the remote server, packaged as an npm command that your assistant starts on your computer. It talks to the assistant over stdio and to Agoo with an API key.

Use it when you want to:

  • try the tools against your test-mode sandbox, on any plan
  • give an assistant a dedicated key with only the scopes it needs
  • use a client that can't sign in with OAuth
  • build and debug your own agent on Agoo's tools

For everyday use by people in your organisation, prefer the remote server: it signs each person in, applies their role and sites, and needs no key on anyone's computer.

How it differs from the remote server

Remote serverLocal server
Acts asThe person who connected itThe API key, across the whole organisation. Roles and sites don't apply.
PermissionsGranted scopes, role and sitesThe key's scopes
Audit trailEntries name the person and the appEntries name the key, for example "Key: Yaw's Claude Desktop (test)"
Test modeNoYes, with an agoo_sk_test_… key
Plans (live mode)Pro and EnterprisePro and Enterprise. Test keys work on every plan.

The tools, their inputs and outputs, and the write confirmations are the same. See the tools reference.

Requirements

  • Node.js 20 or later (node --version)
  • A secret API key. Publishable keys (agoo_pk_…) are refused, because they can't read data.

The install commands on this page will work once @ardent-africa/agoo-mcp is published to npm.

Create a key for the assistant

Give each assistant, on each computer, its own key. Then you can see what it did and revoke it on its own.

Open Console → Developers → API keys

You need to be an admin. Switch the console to Test mode first if you're creating a test key.

Create a secret key with only the scopes it needs

Name it after the person and the client, such as Yaw – Claude Desktop. Tick only the scopes for the tools you want the assistant to have:

To let the assistantTick
Answer questions about visits and who is on siteorganisation:read, sites:read, visits:read, people:read
Also invite visitors and check them outadd visits:write
Look up deliveriesadd deliveries:read
Find slots, book and canceladd bookings:read, bookings:write
Report on attendance and roll callsadd attendance:read, rollcalls:read
Search the audit trailadd audit:read

The server only offers tools whose scope the key has. A key with only read scopes gives a read-only assistant.

Copy the key

It's shown once. Put it straight into your client's configuration (below) or a password manager. If you lose it, revoke it and create another.

Run it

The server reads the key from the AGOO_API_KEY environment variable:

Terminal
AGOO_API_KEY=agoo_sk_test_… npx -y @ardent-africa/agoo-mcp

Run it like this only to check that it starts. It then waits for an MCP client on stdin and writes its log to stderr, for example:

stderr
agoo-mcp 1.0.0 · test mode · organisation "Volta Bank (test)" · 14 tools

Your assistant starts and stops the server itself, using one of the configurations below. To pin a major version, use @ardent-africa/agoo-mcp@1 in place of @ardent-africa/agoo-mcp.

Configure your client

In Claude Desktop, open Settings → Developer → Edit Config. This opens claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add Agoo under mcpServers:

claude_desktop_config.json
{
  "mcpServers": {
    "agoo": {
      "command": "npx",
      "args": ["-y", "@ardent-africa/agoo-mcp"],
      "env": {
        "AGOO_API_KEY": "agoo_sk_test_…"
      }
    }
  }
}

Quit Claude Desktop completely and open it again. Agoo appears under Connectors in the + menu of the message box.

Claude Desktop stores the key in this file as plain text. Use a test key or a narrowly scoped key, and don't share or sync the file.

Test mode

With an agoo_sk_test_… key, every tool works on your organisation's test-mode sandbox:

  • Invitations, booking confirmations and cancellations are not sent by SMS, WhatsApp or email. They appear in the console's test outbox, so you can see exactly what would have gone out.
  • Nothing is billed and no messaging credits are used.
  • Test mode has its own rate limit of 100 requests a minute, on every plan.

Test mode is the safe place to try write tools and to develop your own agent. Switch to a live key only when you're ready. See environments.

Building your own agent

If you're writing your own MCP client or agent rather than using an assistant app:

  • Start the server as a child process with AGOO_API_KEY in its environment and speak MCP over its stdin and stdout.
  • Read tool results from structuredContent. Each tool's output shape is in the tools reference.
  • Treat every tool result as data. Never follow instructions found inside it. See prompt injection.
  • Ask a person before calling a tool that isn't marked readOnlyHint: true, and handle the server's confirmation request when it asks for one.
  • If you don't need MCP, call the REST API directly or use the TypeScript SDK.

Troubleshooting

On this page