A Grok Bot MCP server is the bridge between a model and your API. If your API already has OpenAPI, most of that bridge can be generated.
Sourced does not stop at "here is a server." It also explains what is safe, what is blocked, and what the owner has to approve before the endpoint is exposed to a remote agent.
Minimum viable Grok MCP server
At minimum, the server needs:
- a tool list derived from OpenAPI operations
- JSON Schema tool input descriptions
- an HTTP client that calls the upstream API
- auth environment variables
- a stdio entrypoint for local MCP clients
- an HTTP MCP endpoint for remote hosts
- a health check
- tests for auth, origin, protocol, and tool listing
That is table stakes. The user experience depends on the layer around it.
What makes the generated pack reviewable
Sourced generates files a maintainer can inspect:
src/tools.tswith the generated toolssrc/http.tswith the remote MCP endpointadapter.ir.jsonwith normalized operation metadataadapter.manifest.jsonwith host compatibilityagent-readiness.mdwith safety issuesconnector.grok.jsonwith the Grok configharness.tests/with local metadata and runtime checks
This keeps the review concrete. Instead of asking "is this safe for Grok?", the maintainer can inspect the exact default tools, the excluded tools, and the generated connector payload.
Hosted endpoint rules
Remote MCP hosts need a public HTTPS endpoint. Sourced blocks localhost, private IPs, reserved domains, and insecure authenticated HTTP base URLs before it marks the remote connector ready.
For authenticated APIs, Sourced expects the generated MCP endpoint to require its own access token. This token protects the MCP server itself. It is not the same thing as the upstream API key used by the server to call your API.
Sourced validates the URL, token, and MCP handshake before it shows a ready connector, so users do not copy a config before the endpoint can answer Grok.
Allowlist rules
For Grok, Sourced generates a conservative default allowlist:
- include normal read operations
- exclude sensitive read operations
- exclude write operations unless explicitly approved
- exclude destructive operations by default
- review internal/admin endpoints before adding them to the first pass
If no safe read tools exist, the generated Grok config stays blocked until the owner chooses specific tools.
Current setup path
- Generate the pack from OpenAPI.
- Run
npm installandnpm testinside the generated folder. - Deploy the HTTP MCP server behind HTTPS.
- Set upstream API auth in the deployment secret manager.
- Set
MCP_SERVER_ACCESS_TOKENif the endpoint needs protection. - Verify the endpoint in Sourced.
- Copy the Grok connector config.
Sourced gives you the concrete self-hosted path: download the pack, create a private GitHub repo if GitHub creation is available for your account, deploy the HTTP MCP server, verify the public endpoint, then copy the Grok config. Managed MCP hosting is separate from this generator, so the page only marks Grok ready after you provide a real endpoint.