What it is for
Cursor, Claude, Codex, and similar clients do not know “no contracts over $2M without CFO” unless you give them a way to fetch it. MCP is that way. An org admin mints a connection in Momentum, someone pastes a config snippet, and the assistant starts calling get_relevant_policies on its own.
| Who | What they do with MCP |
|---|---|
| Anyone asking an assistant | “Can we refund $400?” / “Does a $1.5M loan need a person?” — the answer cites the matching policy. |
| Ops, finance, legal | Summarize the rulebook for a new hire. Review a planned send before anyone hits send. |
| People building agents | While writing a workflow, see “pause above $1M” and encode it before production. |
| Before you ship | Ask for the policy gates that apply to a refunds or lending agent — a checklist from live policy, not Confluence. |
How it helps
ForceEquals MCP feeds the same Momentum policies into Cursor, Claude, Codex, and similar clients so the model can factor org rules into what it writes or answers.
User asks Cursor / Claude / Codex something
│
▼
Client calls ForceEquals MCP (Bearer fe_mcp_…)
│
▼
get_relevant_policies returns this org's Momentum policies
│
▼
The model shapes the answer / code around those rulesYou change a rule in Momentum. The next request uses it. Nothing is fine-tuned into the model.
Try asking
Once the client is connected, you do not have to name a tool. Paste any of these:
Cursor, Claude, Codex, or any connected client
Can we refund this customer $400?
Would a $1.5M loan need a person to approve?
Summarize our policies for someone who just joined.
Draft a checklist before we ship a refunds agent.
Review this action: email every overdue account a collections notice.Connect once
Setup lives on the MCP tab: generate a connection, copy the snippet for your client, confirm a call landed. That page has your real host and token. You need admin on a root organization.
Live setupOpen the MCP tab
Admin generates a connection. Developer pastes the config. The assistant starts fetching policies. Last used updates after the first authenticated call.
Go to MCP →Which client
Same server for every MCP client: Streamable HTTP /api/mcp. Ready-made snippets for common hosts; Codex, Windsurf, VS Code, Inspector, and custom agents use the URL + Bearer tab.
| You use | What you copy on the MCP tab | How it signs in |
|---|---|---|
| Cursor | JSON into mcp.json, then reload | A key, shown once |
| Claude Code | One terminal command | A key, shown once |
| Claude.ai / Desktop | The URL only — no key in it | Sign in and Allow an org |
| Codex, Windsurf, VS Code, Inspector, other | Streamable HTTP URL + Bearer token | A key, shown once |
Tools and prompts
The client can look up this organization's policies. It cannot change them, and it cannot approve work on Feed. Server instructions ask it to call get_relevant_policies every turn and record_mcp_turn_response after the answer; the host decides when to actually call.
| What you want | What it uses |
|---|---|
| Rules that match this question | get_relevant_policies |
| Store this turn's assistant answer | record_mcp_turn_response |
| Every policy, or one by id | list_organization_policies, get_organization_policy |
| Find a rule by words | search_organization_policies |
| Which org is connected | get_organization_info |
| Allow / reject / send to a human | Prompt review_action_against_policies |
| Explain the rulebook | Prompt summarize_org_policies |
| Pre-ship gates | Prompt draft_policy_check_checklist |
fe_live_… is the Feed API key for agents that emit events. fe_mcp_… only reads policies. Do not mix them.
Always check policy
If the assistant sometimes answers without looking up rules, pin instructions in that product. The snippets below also ask it to send the finished answer back with record_mcp_turn_response so Momentum can store the turn. Cursor and Claude Code examples:
.cursor/rules/forceequals-policies.mdc
---
description: ForceEquals Momentum — fetch org policies on every request
alwaysApply: true
---
At the start of every user request, call the `get_relevant_policies` tool from the `forceequals` MCP server with the user's request text. Treat the returned organization policies as constraints and considerations for your response. After you finish the user-visible answer, call `record_mcp_turn_response` with that full answer and the `turnId` from get_relevant_policies. Do both automatically without being asked.CLAUDE.md
## ForceEquals Momentum policies
At the start of every user request, call the `get_relevant_policies` tool from the `forceequals` MCP server with the user's request text. Treat the returned organization policies as constraints and considerations for your response. After you finish the user-visible answer, call `record_mcp_turn_response` with that full answer and the `turnId` from get_relevant_policies. Do both automatically without being asked.If something fails
| What you see | What to do |
|---|---|
| 401 / unauthorized | Missing key, Bearer typed twice, extra spaces, the whole JSON pasted where only the key belongs, or a revoked key. Generate a new connection on the MCP tab. Keys start with fe_mcp_. After Claude Allow they look like fe_mcpo_. |
| Claude stuck on login | Finish Allow on the org picker. Do not paste fe_mcp_ into the connector URL. |
| No orgs on consent | You need admin on a root organization — the same list as the MCP tab. |
| Lost the token | It cannot be shown again. Revoke and generate a new connection. |
| Answers ignore policy | Ask again with a concrete action, or add the always-on rule above. Hosts choose when to call tools. Query logging needs get_relevant_policies; the answer is stored only if the host then calls record_mcp_turn_response. |