Connect any MCP client
The Scrive MCP is a standard remote MCP server using the Streamable HTTP transport and OAuth 2.0. Clients that support remote servers with OAuth can use it, such as VS Code, Zed, Cursor, Devin Desktop (formerly Windsurf), Continue, LibreChat and custom agents built on the MCP SDKs. VS Code and Zed identify themselves to Scrive automatically. Cursor and Devin Desktop cannot, and need a client ID and secret from Scrive support; see When you need a client ID and secret.
Server definition
Section titled “Server definition”| Property | Value |
|---|---|
| Transport | Streamable HTTP |
| URL | https://mcp.scrive.com/mcp |
| Authentication | OAuth 2.0, authorization code with PKCE. Sign in with your Scrive account |
| Scope | full |
| Resource metadata | https://mcp.scrive.com/.well-known/oauth-protected-resource |
| Authorization server | https://oauth2.scrive.com |
| Sessions | Stateless, one request per call; no session id to keep |
Most clients accept one of these JSON shapes:
{ "mcpServers": { "scrive": { "type": "http", "url": "https://mcp.scrive.com/mcp" } }}{ "servers": { "scrive": { "type": "http", "url": "https://mcp.scrive.com/mcp" } }}{ "mcpServers": { "scrive": { "url": "https://mcp.scrive.com/mcp", "auth": { "CLIENT_ID": "<from Scrive support>", "CLIENT_SECRET": "<from Scrive support>" } } }}Cursor’s callback URL, which Scrive support registers on the client, is http://localhost:8787/callback. Zed uses context_servers with a url in its settings file. Devin Desktop uses url with "transport": "http", and takes the client ID and secret as oauthClientId and oauthClientSecret. On first use the client opens your browser for the Scrive sign-in.
OAuth details
Section titled “OAuth details”The server follows the MCP authorization specification. A client discovers everything it needs from two documents:
https://mcp.scrive.com/.well-known/oauth-protected-resource, which names the authorization server and the supported scope.https://oauth2.scrive.com/.well-known/oauth-authorization-server, which lists the endpoints:
| Endpoint | Value |
|---|---|
| Authorization | https://oauth2.scrive.com/oauth2/auth |
| Token | https://oauth2.scrive.com/oauth2/token |
| Revocation | https://oauth2.scrive.com/oauth2/revoke |
| PKCE | S256 |
Unauthenticated requests to /mcp get 401 with a WWW-Authenticate header pointing at the resource metadata, which is how clients start the flow.
Programmatic use
Section titled “Programmatic use”With the official MCP SDK you can connect from your own agent. Supply an OAuthClientProvider that stores tokens and opens the authorization URL for the user:
import { Client } from '@modelcontextprotocol/sdk/client/index.js';import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
const transport = new StreamableHTTPClientTransport(new URL('https://mcp.scrive.com/mcp'), { authProvider: myOAuthProvider, // implements OAuthClientProvider from the SDK});const client = new Client({ name: 'my-agent', version: '1.0.0' });await client.connect(transport);
const { tools } = await client.listTools();const result = await client.callTool({ name: 'list_documents', arguments: { status: ['pending'], max_results: 10 },});Test with the MCP Inspector
Section titled “Test with the MCP Inspector”npx @modelcontextprotocol/inspectorThe Inspector needs Node.js 22.19 or later. Add a server with the Streamable HTTP transport and https://mcp.scrive.com/mcp as the URL. The Inspector cannot register itself with Scrive, so before connecting, open Client Settings and enter a client ID and secret from Scrive support, with http://localhost:6274/oauth/callback as the callback URL. When you connect, the Scrive sign-in opens automatically. The Inspector then lists the tools and lets you call them.
Verify from a terminal
Section titled “Verify from a terminal”Check that the endpoint is up and advertising its authorization server:
curl -s https://mcp.scrive.com/.well-known/oauth-protected-resource# → {"resource":"https://mcp.scrive.com/mcp","authorization_servers":["https://oauth2.scrive.com"],"scopes_supported":["full"]}Limits
Section titled “Limits”| Limit | Value |
|---|---|
| Tool calls | About 10 per 20 seconds per user; beyond that the server answers with a wait message |
| Request body | 44 MB |
| PDF uploads | 30 MB per file, sent base64-encoded through the file picker panel; up to 25 files at once for a flow draft |
| Files on your computer | Not accessible. Uploads go through the file picker panel in clients that support MCP Apps |
