Summary
Let your AI work with your MOCO agency account: look up projects and customers, review tracked time by person or project, check open invoices and team utilization, and book time. With your MOCO subdomain and an API key from your MOCO profile.
Guided setup
Connect MOCO to Microsoft Copilot in 2 minutes
Start a free trial on AnythingMCP Cloud, connect MOCO in the guided setup, then add your MCP URL to Microsoft Copilot. No code and no server to run.
No credit card · 7-day trial · Self-host alternative available
Try asking
Example prompts for MOCO
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
💡 No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors → MOCO, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
MOCO + Microsoft Copilot
Let your AI work with your MOCO agency account: look up projects and customers, review tracked time by person or project, check open invoices and team utilization, and book time. With your MOCO subdomain and an API key from your MOCO profile.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
MOCO_SUBDOMAIN, MOCO_API_KEY
Step 1 — Get credentials
- In MOCO, click your profile picture at the top right to open your profile, then the Integrations tab, and copy your personal API key. It reaches exactly what your own MOCO user can see and do.
- Alternatively, create an account API key under Settings → Extensions → API & Webhooks → API Keys, with read-only or full access. A read-only key cannot book time.
- Paste the key into
MOCO_API_KEY. - Set
MOCO_SUBDOMAINto the first part of your MOCO address only: foragency.mocoapp.comenteragency, withouthttps://and without.mocoapp.com. The connector then callshttps://agency.mocoapp.com/api/v1. - Install the connector. There is no Authorize with Provider step: the key is stored encrypted and sent with every request.
- Start with
moco_list_users: if it lists your colleagues with their IDs, key and subdomain are right.
Staying signed in: the connector uses the key directly, so there is no sign-in to renew. If the key is replaced or deleted in MOCO, paste the new one into MOCO_API_KEY.
What the AI sees: every list returns only the records the key's user may see. A project or invoice that seems to be missing is usually a permission question in MOCO, not a fault of the connector.
Booking time: moco_create_activity is the only tool that writes to MOCO. It books one time entry for the user the key belongs to, with a date, a project ID, a task ID, the duration in whole seconds (2 hours is 7200) and an optional description. The AI finds the project with moco_list_projects and its tasks with moco_get_project. Every call creates a new entry, and a repeated call books the time twice, so the AI shows you date, project, task and duration first and waits for your yes.
Permissions and read-only setup: for a connector that only reads, disable moco_create_activity on the connector page, or use an account API key with read-only access. Do not hand a full-access key to people who should only read data.
Reports and invoices: moco_list_activities and moco_report_utilization always need a start and an end date (from and to, as YYYY-MM-DD). Activities can be narrowed to one person, one project or billable time only; the utilization report compares available and booked capacity. moco_list_invoices filters by status (draft, created, sent, partially_paid, paid, overdue, ignored, several at once separated by commas), invoice date and company.
Limits: lists return up to 100 entries per page, and the AI keeps paging until the last one. MOCO allows about 120 requests per two minutes on standard plans; above that it answers 429, so wait a moment and try again.
Common errors: 401 means the key is wrong, was deleted, or belongs to a different MOCO account than MOCO_SUBDOMAIN. If every call fails, check that MOCO_SUBDOMAIN holds only the subdomain and not the full address. 404 on a single project means the ID is wrong or the key's user cannot see that project. A rejected booking names the field MOCO did not accept, for example a task that does not belong to the project.
The connector does not create or send invoices, download PDFs, set up webhooks, edit or delete time entries, or change projects, companies and users.
Step 2 — Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 — Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers → the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/…). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool → New tool → Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers → your server → API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
MOCOtools. - Select Publish, then Channels → Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 → Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
moco_list_users | List MOCO users visible to this API key, including their IDs and names |
moco_list_projects | List MOCO projects with IDs, names, customer links and status |
moco_get_project | Get a single MOCO project by its numeric ID, including project details and assigned tasks needed when creating a time activity |
moco_list_activities | List tracked time activities within a date range, optionally filtered by user, project or billability |
moco_list_companies | List customers, suppliers and organizations in MOCO |
moco_list_invoices | List MOCO invoices visible to this API key |
moco_report_utilization | Get MOCO's utilization report for a date range, showing available and booked capacity so you can assess team workload |
moco_create_activity | Book a new MOCO time activity for the API key's user |
Example prompts
- "How many hours did the team book on the Website Relaunch project in September, and how much of that was billable?"
- "Which invoices are overdue or partially paid right now, and which customers do they belong to?"
- "How was the team's utilization last month? Compare available and booked capacity."
- "Book 2.5 hours today on the Acme website project for the homepage layout review. Show me the entry before you book it."
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?