overview
mcp serverbeta

For AI agents

A hosted Model Context Protocol server for Salesforce release tracking. JSON-RPC 2.0 over plain HTTP POST — no SSE, no session ids. One read-only tool, capped so it never floods your context window.

Beta: the response shape can still change, and coverage is limited to the releases currently tracked. Pin nothing critical to it yet.

endpoint

POST https://forcenotes.app/mcp

No key, no signup, no auth header. Calls are rate limited to 20 a minute and 500 a day per caller.

client config

{
  "mcpServers": {
    "forcenotes": {
      "type": "http",
      "url": "https://forcenotes.app/mcp"
    }
  }
}

claude skill

Drop this into a Claude Code project so it knows when to reach for this tool automatically.

download skill.md

ask your agent

  • which Salesforce releases can you summarize?
  • summarize Winter '27
  • what needs action before the next Salesforce release
commandrelease notes summaryget_release_summary(release?)

The one command. Called with no arguments it returns the list of Salesforce releases ForceNotes has summarized — newest first, the upcoming (preview) release on top — so the agent can present the options and let the user pick one. Called with `release` set to one of those names or an alias (next | current | preview) it returns that release's summary: overview, counts by change class, curated highlights, what's new by topic, and the deadline-sorted items that need action. Read-only; every item carries source_url and a freshness flag.

options the agent offers

Omit release and the command returns these values for the user to choose from (the same enum an MCP client sees on the tool):

Winter '27Summer '26nextcurrentpreview

The alias next tracks the preview release, current the GA release. New releases (Spring '27, Summer '27, Winter '28, …) join this list automatically as ForceNotes summarizes them.

smoke test

curl -s https://forcenotes.app/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"get_release_summary","arguments":{"release":"next"}}}'

response shape

  • No release → mode: "catalog": next_release, current_release, and every tracked release with per-class counts.
  • With release → mode: "summary": overview, counts by change class, curated highlights, what's new by topic, and needs_attention (deadline-sorted, capped at 15, each with source_url).
  • Every payload carries captured_at and freshness (fresh <24h | stale | removed).
  • Over the rate limit you get a normal tool error with the reset time, never a protocol error that drops the connection.