Set up the Sail MCP server
Sail’s docs run on ReadMe, which gives every project a Model Context Protocol (MCP) server for free. Once your AI assistant is connected, it can search and inspect every endpoint in the Sail API straight from the OpenAPI spec, and — if you choose to allow it — call the live Sail API on your behalf. No separate account or sign-up needed.
Scoped to the API reference
The MCP server searches Sail’s API endpoints (everything generated from the OpenAPI spec — Users, Connections, Accounts, Expenses, Webhooks, and so on). It doesn’t search prose pages like the Guides or Concepts group — for those, point your assistant at the page directly or keep using the site’s regular search.
What you get
Find the right endpoint
Ask a question in plain language and get pointed to the exact Sail endpoint that answers it, pulled from the live OpenAPI spec, not a stale training-data guess.
Look up endpoints
List and inspect any Sail endpoint, including parameters, request/response schemas, and required scopes.
Call the live API
Optionally let your assistant execute a real request against the Sail API using your own credentials.
Quick setup
The Sail MCP server lives at:
https://docs.savewithsail.com/mcpDocs hosted somewhere else?
If your Sail docs are served from a different domain, or ReadMe’s default *.readme.io subdomain, use that instead — the path is always /mcp.
Pick your tool below. No authentication is required for search and lookup — you’ll only need to add credentials if you want the execute-request tool to make real API calls.
Run:
claude mcp add --transport http sail https://docs.savewithsail.com/mcpGo to Settings → Connectors → Add custom connector, then enter:
- Name:
Sail - URL:
https://docs.savewithsail.com/mcp
Add to your project’s or global mcp.json:
{
"mcpServers": {
"sail": {
"url": "https://docs.savewithsail.com/mcp"
}
}
}Add to .vscode/mcp.json:
{
"servers": {
"sail": {
"type": "http",
"url": "https://docs.savewithsail.com/mcp"
}
}
}Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"sail": {
"serverUrl": "https://docs.savewithsail.com/mcp"
}
}
}Restart your editor or start a new chat, then confirm the connection by asking something only Sail’s API reference would know, like “What scope does Get Account & Routing Numbers need?”
Available tools
| Tool | What it does |
|---|---|
search-endpoints | Finds the Sail API endpoints relevant to a natural-language question, so your assistant doesn’t have to guess which one answers it. |
list-endpoints | Lists every endpoint in the Sail API, straight from the OpenAPI spec. |
get-endpoint | Returns full detail for one endpoint: parameters, request/response schema, required scopes, and examples. |
get-server-variables | Looks up server and environment variables defined in the spec, like Sail’s live base URL. |
execute-request | Executes a real request against the Sail API using the credentials you provide. See Executing live requests. |
Executing live requests
execute-request lets your assistant make real calls against https://live.savewithsail.com/api/v1, not just read about them. To enable it, add your Sail API key as a header when you configure the server:
{
"mcpServers": {
"sail": {
"url": "https://docs.savewithsail.com/mcp",
"headers": {
"Authorization": "Bearer sk_live_..."
}
}
}
}Treat this like any other API key
Anything wired into your MCP config can be read by your assistant and any tool it calls. Use a key scoped to only what you need — see Scoped API Keys — and never paste a key into a shared or public config file.
If you’d rather keep your assistant read-only, most clients let you disable individual tools. Turn off execute-request and it can still search and read the API reference, but it will never call the live API.
Troubleshooting
The server doesn't show up in my tool list #
Confirm your config’s JSON is valid — no trailing commas, every brace closed — then restart your editor or start a new session.
Answers seem out of date #
Start a new conversation. MCP results reflect the latest published docs, but a long-running chat may still be reasoning from what it read earlier.
execute-request calls are failing #
Check that the header carrying your API key is set correctly, and that the key has the scope the endpoint needs. See Authentication.
My docs are private and the server won't connect #
Private ReadMe projects need an additional auth header carrying your site password or ReadMe API key, separate from your Sail API key.
Get better answers
Ask specific, endpoint-shaped questions instead of broad ones:
- Weaker: “How does Sail work?”
- Stronger: “What parameters does Create Hosted Session require?”
Next steps
- New to Sail? Start with the Get Started overview.
- Building against a specific integration path? See Enrich transactions, Classify transactions, or Connect HSA/FSA accounts.