# Connect your own agent

Any agent that speaks MCP connects to Mojobase with one address, https://app.mojobase.ai/mcp, and a key from Settings → Connect an agent, sent as a Bearer token. It works from MCP clients, from the Claude and OpenAI APIs' MCP connectors, or from plain HTTP. Your agent then acts as you across email, calendar, documents, tasks, customers and the Handbook.

Updated 7 November 2026

## How do you connect Your own agent to Mojobase?

### Any MCP client

Cursor, VS Code, Codex and any other client that connects to remote MCP servers over HTTP.

1. In Mojobase, open Settings → Connect an agent and make a key. It's shown once, so copy it. Each person can have up to ten.
2. Add a remote server named mojobase, with the transport set to Streamable HTTP (often just "http") and the address `https://app.mojobase.ai/mcp`.
3. Add the header `Authorization: Bearer YOUR_KEY`. If your client signs in with OAuth instead, use your company's address from Settings, which starts with `https://app.mojobase.ai/mcp/`.
4. List the tools to check: you should see `mojobase_search` and each app's tools.

### Your own code, through an LLM API

For agents you build on a model API. The provider connects to Mojobase for you, so you don't write an MCP client.

1. Claude API: pass Mojobase in `mcp_servers` with `url` and `authorization_token` set to your key, and add an `mcp_toolset` for it in `tools`, with the MCP connector's beta header.
2. OpenAI Responses API: add a tool with `type: "mcp"`, `server_url: "https://app.mojobase.ai/mcp"` and `authorization` set to your key; keep approvals on for anything that writes.
3. Restrict each job to the tools it needs (`allowed_tools` on OpenAI, the toolset's allowlist on Claude).

### Plain HTTP, no SDK

For scripts and languages without an MCP library. The server answers each POST with one JSON reply.

1. POST a JSON-RPC `initialize` message to `https://app.mojobase.ai/mcp` with your key in the Authorization header, and keep the `Mcp-Session-Id` it returns.
2. POST `tools/list` to see the tools, then `tools/call` with a tool's `name` and `arguments`.

- **MCP transports:** Two standard transports: stdio for a local process, and Streamable HTTP, where each message is an HTTP POST to one endpoint; messages are JSON-RPC[1]
- **Claude API:** The MCP connector (beta) reaches remote MCP servers from the Messages API through mcp\_servers and an mcp\_toolset; only tool calls are supported[2]
- **OpenAI Responses API:** The mcp tool takes a server\_url and an authorization token; tool calls can run automatically or wait for the developer's approval[3]

## What can you ask Your own agent once it's connected?

- “Every night, list tomorrow's meetings with external guests and write a one-page brief for each.”
- “When a support email mentions a refund, draft the reply from our refund policy page.”
- “Each Friday, post a summary of tasks closed this week by person.”
- “Find every email that mentions a contract renewal date and make a task for each.”

## What does your agent get from Mojobase's MCP server?

One server with every app's tools, under one key. Each app's tools are passed through unchanged, so each app's rules hold:

| App | What your agent can do there, and some of the tools |
| --- | --- |
| Search | One search across mail, events, files, tasks and Handbook pages: `mojobase_search` |
| Email | Read every mailbox you can see and write drafts: `mail_search`, `mail_thread`, `draft_reply`, `draft_new` |
| Calendar | Free times, new events and holds on offered slots: `calendar_find_times`, `calendar_create`, `calendar_hold` |
| Tasks | The team's tasks and projects: `tasks_list`, `task_add`, `task_complete` |
| Documents | Files and documents, with edits as proposals: `docs_search`, `docs_read`, `doc_propose_edit` |
| Customers | People and companies, with their history: `customers_find_people`, `customers_person` |
| Handbook | What the business does, sells and allows: `knowledge_business_profile`, `knowledge_search` |
| Numbers | Sales, ad spend, campaigns and read-only Stripe invoices, for owners: `numbers_summary`, `numbers_campaigns`, `numbers_invoices`, `numbers_invoice` |

## How do you call Mojobase's MCP server from a script?

Send JSON-RPC over HTTPS. The server answers each POST with one JSON object, with no event stream to hold open:

```
curl -s https://app.mojobase.ai/mcp \
  -H "Authorization: Bearer $MOJOBASE_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"mojobase_search","arguments":{"query":"Northside contract"}}}'
```

Start with `initialize`, as any MCP client does, and send back the `Mcp-Session-Id` header it returns; the name your client gives there is what Activity shows.

## What should a custom agent be allowed to do on its own?

Start with reading and drafting, and widen from there. Mojobase's own scheduled runs are limited to exactly that, by the server rather than by the prompt: they read everything, write email drafts, suggest tasks and document edits, and ask for Handbook approval. Give your own agent a key per job, list only the tools it needs in your client, and check Activity for the first weeks.

## Why connect your agent to Mojobase instead of to each tool's API?

Because one connection replaces a dozen integrations and their permission models. Wiring an agent to Gmail, a calendar API, a file store, a task app and a CRM means five sign-ins, five sets of scopes and no shared idea of who a customer is. Mojobase gives the agent the whole business, acting as one person with that person's rights, and records every call in one place.

## Questions people ask

### How do I build my own AI agent for my business?

Pick a model and a framework you like, then give the agent tools. Connecting it to Mojobase's MCP server gives it the business's email, calendar, files, tasks, customers and Handbook in one step, with a key you can switch off at any time.

### What can a custom agent do in Mojobase?

Anything the person whose key it uses can do, within the apps they may open: search and read mail, write drafts, find meeting times, add tasks, propose document edits, look up customers and update the Handbook. Each app's own rules still apply.

### How many requests can my agent make?

Up to 120 requests a minute per key. When the server is busy, the agent is told to try again in a minute. Twenty wrong keys from one address in ten minutes pause that address.

### How does Activity know which agent did what?

Tools that change things take an author and a model, recorded together as one name, such as invoice-bot/claude-sonnet-5-5. Otherwise Activity shows the name your client gave when it connected, or the key's name.

### Does my agent need its own Mojobase seat?

No. Agents are never counted as seats. A key belongs to a person and acts as them, so the agent costs nothing in Mojobase; you pay only for the model it runs on, through your own provider.

## Related

- [Agents](https://mojobase.ai/agents)
- [MCP server](https://mojobase.ai/mcp)
- [Gmail MCP server for Claude, ChatGPT and your own agents](https://mojobase.ai/mcp/gmail)
- [Stripe MCP server: let your AI see payments next to the rest of the business](https://mojobase.ai/mcp/stripe)
- [A weekly business review written for you](https://mojobase.ai/use-cases/weekly-business-review)
- [What is an API key?](https://mojobase.ai/learn/what-is-an-api-key)
- [Security](https://mojobase.ai/security)

## Sources

1. Your own agent: MCP transports. [modelcontextprotocol.io/specification/2026-07-28/basic/transports](https://modelcontextprotocol.io/specification/2026-07-28/basic/transports), checked 7 Nov 2026.
2. Your own agent: Claude API. [platform.claude.com/docs/en/agents-and-tools/mcp-connector](https://platform.claude.com/docs/en/agents-and-tools/mcp-connector), checked 7 Nov 2026.
3. Your own agent: OpenAI Responses API. [developers.openai.com/api/docs/guides/tools-connectors-mcp](https://developers.openai.com/api/docs/guides/tools-connectors-mcp), checked 7 Nov 2026.

---

Source: https://mojobase.ai/agents/your-own · Updated 7 November 2026
