One URL. Your agent, whichever one, can record meetings, read what was discussed, keep the contact list current, propose follow-ups, and queue a WhatsApp or text message to your phone. A person approves every send. Works with ChatGPT, Claude, Cursor, Claude Code, OpenClaw and anything else that speaks the Model Context Protocol.
https://www.capstoneoutreach.com/mcp/Authorization: Bearer cor_live_… using a token from Settings → API tokenshttps://www.capstoneoutreach.com/.well-known/oauth-authorization-servercontacts:read contacts:write campaigns:read drafts:write campaigns:send meetings:read meetings:recordTwo ways in: OAuth for clients that support it, or a scoped token for everything else.
Settings → Connectors → Add custom connector, with the URL above. OAuth handles sign-in and you pick scopes on the consent screen. Full walkthrough →
Add a custom connector (developer mode) with the same URL. ChatGPT uses the OAuth flow and shows the same consent screen, so you never handle a token.
claude mcp add --transport http capstone https://www.capstoneoutreach.com/mcp/ \
--header "Authorization: Bearer cor_live_YOUR_TOKEN"
{
"mcpServers": {
"capstone-outreach": {
"url": "https://www.capstoneoutreach.com/mcp/",
"headers": { "Authorization": "Bearer cor_live_YOUR_TOKEN" }
}
}
}
OpenClaw's native MCP client connects to remote servers over Streamable HTTP and can sign in with OAuth, so it sees the same consent screen as claude.ai. Add the server under mcp.servers in openclaw.json:
{
mcp: {
servers: {
capstone: {
url: "https://www.capstoneoutreach.com/mcp/",
transport: "streamable-http",
auth: "oauth",
enabled: true
}
}
}
}
Then run openclaw mcp login capstone and approve the scopes. OpenClaw's tool policies apply to these tools like any other, so you can put record_meeting and queue_text behind an approval prompt on the agent side as well. Prefer a token instead? Store it through OpenClaw's secret mechanism and send it as the Authorization header.
Point the client at the URL with the Bearer header. That is the whole integration. Mint the token with only the scopes the agent needs; every call it makes is logged against that token, and revoking the token cuts it off instantly.
Fourteen tools. Descriptions are written for the model, so an agent picks the right one from a plain sentence.
| Tool | Does | Scope |
|---|---|---|
list_contacts | Search contacts by name, email or company. | contacts:read |
get_contact | Full record: tags, lead tier, source, notes. | contacts:read |
upsert_contact | Create-or-skip, deduped by email. Safe to re-run. | contacts:write |
list_campaigns | Campaigns with status and recipient counts. | campaigns:read |
list_drafts | Drafts awaiting approval, or past verdicts. | campaigns:read |
get_draft | One draft: steps, recipients, reasoning, rejection feedback. | campaigns:read |
submit_draft | Propose a follow-up sequence (email or text steps) for review. | drafts:write |
list_meetings | Recent and upcoming calendar meetings with attendees routed to contact ids. | meetings:read |
get_meeting_notes | The dated meeting summaries on a contact's record. | meetings:read |
find_cold_leads | People from past meetings with no recent contact, for revival. | meetings:read |
get_recording_status | Recordings used this month and the plan's allowance. | meetings:read |
record_meeting | Send the notetaker to a Zoom, Meet, Teams or Webex link. | meetings:record |
enable_auto_record | Turn auto-record on or off. Consent must already have been accepted by a person. | meetings:record |
queue_text | Queue a one-off text or WhatsApp message to a contact. It opens prefilled on the operator's phone; they send it from their own number or WhatsApp account. | drafts:write |
There is deliberately no tool that approves a draft or sends a message.
This is what "automate my meeting follow-ups" turns into on the wire.
enable_auto_record. From here the notetaker joins external meetings on its own; the agent is not in the loop per meeting.list_drafts and get_draft.get_meeting_notes answers "what did we agree"; submit_draft proposes a revision; find_cold_leads plus submit_draft revives a quarter of stalled conversations in one pass; queue_text puts a WhatsApp or text follow-up on the operator's phone, ready to send.Approval and sending are not exposed to agents at all. The human review queue is the product, not a setting.
Tokens carry exactly the scopes you grant. Every tool call is logged against its token, including refused ones.
Recordings are capped per plan and the agent is told what remains. Internal meetings never consume one.
An agent can toggle auto-record but can never establish recording consent. That is accepted once, by you, in the app.
3-day free trial. Mint a token in Settings, or connect with OAuth from claude.ai or ChatGPT.
Start free