MCP
Forgeby over MCP.
One endpoint at /api/mcp. Eighteen reads run on your workspace's accounts. Fourteen writes return an approval link and do not run. Nothing is sent. This page is the documentation the server card links to.
- Transport
- MCP Streamable HTTP · JSON-RPC 2.0 over POST
- Tools
- 18 reads · 14 writes that wait
Protocol version 2025-03-26. Machine-readable server card at /.well-known/mcp/server-card.json, written by hand and last checked against the server's own initialize response on 2026-09-22.
Sign in
A seat. The handshake stays open.
initialize and ping answer without a token, so a client can complete the protocol handshake and read a proper error instead of hitting a dead socket. Every method that returns data needs a seat: an AuthKit JWT or a session bearer for your workspace.
{"jsonrpc":"2.0","id":1,"error":{"code":-32001,"message":"signed out"}}Error -32001 means signed out. The answer carries a WWW-Authenticate header that sends the client to sign-in. Every seat is free: see pricing.
Tools
Eighteen reads. Fourteen writes that wait.
This list is built from the same register the server answers tools/list from, so the two cannot disagree. A client shows each tool by its title.
Reads
Read only. A read answers from your workspace's own records and changes nothing.
| Tool | What it does | Takes |
|---|---|---|
| Who to call todaywho_to_call | Who to call today and why now, ranked from fresh public signals on your accounts. | Optionaldayslimitindustry |
| What changed at one companywhats_changed | What changed at one account, from public registers, with each change dated. | Optionalcompany_iddomainnamedays |
| Prepare for a meetingprep_meeting | Prepares one meeting: who is coming, their companies and recent mail subjects, read only. | Optionalmatchdays_aheaddate |
| Look up a companyquery_corpus | Looks up companies in the measured library by name, domain, country, size or fit. | Optionalcountryclouddomainaws_detectedicp_minicp_maxemployees_minemployees_maxrevenue_min_ksekhas_domainmaturity_minname_likeprojectorder_bylimit |
| People at a companyaccount_contacts | The people you already hold at one account. | Optionalcompany_iddomainlimit |
| People in your networkmy_network | People in your own exported connections, and which teammate knows someone at an account. | Optionalqlimitteam_account |
| Draft the next due emaildue_draft | Prepares the next due email in a sequence: the address, the subject and the body. It sends nothing. | Optionalenrollment_id |
| Account summary with sourcesaccount_context | One sourced picture of an account: facts with dates, the deal, what you said, and open cards. | Needscompany_id |
| Research one accountresearch_account | Researches one account from the library, its public signals, your own record and the public web, each fact with its source and date. | Optionalcompany_iddomainnameweb |
| Open dealspipeline | Your open deals: stage, next step, owner and value. | Optionaltenantstagedue_beforecompany_iddomainnamelimit |
| Find a phrase on the recordintent_watch | Finds sentences already on your record that contain a phrase. | Needsphrase |
| Check whether you may contact someonecan_contact | Whether you may contact one person, and why: suppression, the market rule and the last touch. | Optionalcontact_idemailchannel |
| Contacts who left or movedchampion_check | People whose status or title says they left or moved. | Optionalcompany_id |
| Accounts with signals and no recent touchfound_revenue | Accounts with a real public signal and a real score that nobody has touched yet. | Optionaldayslimit |
| What changed across your accountsaccounts_changed | What changed across the accounts you can already see, from public registers. | Optionaldays |
| What Forgeby learned this weekwhat_kvasir_learned | The weekly digest of what Forgeby learned from your approvals, edits and declines, under the name people ask for. | Nothing |
| Read a decision recorddecision_record | One decision record: what was suggested, changed, decided, what happened and what was learned. | Optionalpending_idcompany_id |
| What Forgeby may say for this workspaceget_context | What Forgeby may say for this workspace: offer, voice, who you sell to, never-say, proof and materials. | Nothing |
Writes that wait
Each write files an approval card in Forgeby and returns a link to it. Nothing runs until you approve the card. The hints say what an approved write does.
| Tool | What it does once you approve | Takes | Hints |
|---|---|---|---|
| Propose marking a due step donedesk_act | Marks one due step done and moves the sequence on. It sends nothing. | Needsenrollment_id Optionalnote | Sends, overwrites or deletes |
| Propose a campaign from your networknetwork_campaign | Creates one campaign from the companies your own connections work at. It sends nothing and enrols nobody. | Needsname Optionalqoffertarget_rolegeographysegmentlimitcompany_idscompany_nameslike_nameslang | Adds or looks up only |
| Propose looking up a contact's detailsenrich_contact | Looks up one person's work email, mobile, company line or current role. | Needscontact_idwant Optionalrefresh | Adds or looks up onlyLooks outside your workspace |
| Propose finding people at a companyfind_people | Finds people with the titles you name at one company, at most eight. | Needsdomaintitles Optionalmobiles | Adds or looks up onlyLooks outside your workspace |
| Propose identifying an email addressreverse_email | Finds who one inbound address belongs to: role and profile link. | Needsemail Optionaldomaincontact_idcompany_id | Adds or looks up onlyLooks outside your workspace |
| Propose finding a companyfind_companies | Finds one company by its domain: name, country and headcount. | Optionaldomaincompany_id | Adds or looks up onlyLooks outside your workspace |
| Propose keeping or dropping a noteremember | Keeps or drops one sentence about how you work, or one dated fact about an account. | Needsfact Optionalactionkindaboutfact_idlesson_id | Sends, overwrites or deletes |
| Propose an update to a dealengagement_update | Updates one deal's stage, next step or note. | Needsid Optionalstagenext_actionnext_action_atnote | Sends, overwrites or deletes |
| Propose a calendar eventbook_meeting | Books one calendar event on your own calendar. | Needstitlestartend Optionalattendees | Sends, overwrites or deletes |
| Propose a Slack postpost_slack | Posts one message to a Slack channel you name. | Needschanneltext | Sends, overwrites or deletes |
| Propose sending the due emailtake_due | Sends one due sequence email from your own mailbox and marks the step done. | Needsenrollment_idtosubjecttext | Sends, overwrites or deletes |
| Propose the never-contact listset_never_list | Records your workspace's never list. | Optionalforbidden_sendersforbidden_recipientsforbidden_domainsdiscount_floorforbidden_claimshuman_topics | Sends, overwrites or deletes |
| Propose an emailsend_mail | Sends one email from your own mailbox. | Needstosubjecttext Optionalthread_idin_reply_to | Sends, overwrites or deletes |
| Propose or cancel a reminderschedule | Sets or cancels a reminder on your desk. It sends nothing to anyone else. | Optionalactionwhatwhenrepeatid | Sends, overwrites or deletes |
Resources and prompts list empty. The tools are the ones Forgeby uses in the app, under the same rules.
Limits
The limits are in the protocol, not the prose.
Nothing is sent
The seller sends, files, and sits in the room. This server never sends a customer a message.
A write returns an approval link
Every write files a pending row and returns a link. It does not run. It does not send. The seller accepts or declines the card in Forgeby. Teams does not post from here.
LinkedIn® is the URL we already hold
We do not fetch LinkedIn.com. People come from your records, your mailbox, and a Connections.csv the seller uploaded. Nothing on this server posts to LinkedIn.
Your rules still decide
An approved send still passes the send check: the never-list, suppression, the market rule and the commitment guard decide what may go out.
The server's initialize answer says the same in one line: a write returns an approval link and does not run, and nothing is sent until you say so.
Connect
One line, any AI.
- Claude and Claude Desktop
- On claude.ai or in Claude Desktop, open Customize, then Connectors. Add a custom connector with the URL https://forgeby.com/api/mcp and sign in with your Forgeby seat.
- Claude Team and Enterprise
- An Owner adds it under Organization settings, then each seat clicks Connect.
- Claude Code
- claude mcp add --transport http forgeby https://forgeby.com/api/mcp
- Any other AI
- Paste this line into your agent. It carries the setup for Claude, ChatGPT, Codex, Cursor and Grok, and for DeepSeek through the client that runs it.Set up Forgeby by reading https://forgeby.com/install.md and following its instructions.
{
"mcpServers": {
"forgeby": {
"type": "http",
"url": "https://forgeby.com/api/mcp"
}
}
}Claude is tested end to end. ChatGPT, Codex, Cursor, Grok and DeepSeek take the same URL and are testing before launch. A session bearer still works for a client that cannot finish that sign-in.
Also here for machines: /openapi.json · /llms.txt · /llms-full.txt · this page as Markdown. The AI at the front of this product is Forgeby, openly an AI, with a signed identity passport.