MCP Config Files for VS Code, Windsurf, Cline, Codex and Other Clients
By SRIFT maintainers · Published
Reviewed by SRIFT maintainers · last reviewed against the SRIFT 4.3.2 source · third-party facts checked 8 October 2026.
Short answer
Every MCP client takes the same two facts about a server: how to start it locally (a command and arguments, run over stdio) or where to reach it remotely (a URL, over Streamable HTTP). What differs is the file, the top-level key and a few field names. For SRIFT the local entry is npx -y srift-transfer mcp (all 15 tools, including file sharing) and the remote one is https://srift.app/mcp (9 session tools, no file access).
The table below lists the config file and format for VS Code, Cursor, Windsurf, Cline, Claude Code, OpenAI Codex, Zed, Gemini CLI and Continue, each checked against the client's own documentation.
- Local command
- npx -y srift-transfer mcp (Node.js 20+)
- Remote URL
- https://srift.app/mcp (Streamable HTTP)
- Local tools
- 15, including quick-share and file transfer
- Remote tools
- 9 session and control tools, no filesystem
Config files for clients without a dedicated page. Claude Desktop and Claude Code are covered in send files from Claude with MCP, Cursor in Cursor file transfer via MCP, and what the server offers in the SRIFT MCP server overview.
First decide: local or remote
A local entry makes the client start srift mcp as a child process on your machine. It can read files, so it offers all 15 tools: srift_quick_share turns a path into a download link, and the session tools can send and receive files. Use it in desktop apps, IDEs and terminal agents that run where your files are.
A remote entry points the client at https://srift.app/mcp. Nothing is installed and there is no API key, but the hosted server has no filesystem, so it offers only the 9 tools that work without one: start, join, inspect and close sessions, approve, reject and kick participants, list transfers and diagnose the network. Use it for cloud-hosted agents that cannot start local processes. The trade-offs are covered in local vs remote MCP servers.
The examples below use npx, which needs Node.js 20 or later and downloads the package on first use. If you installed the CLI (npm install -g srift-transfer, pip install srift or the standalone binary), replace npx -y srift-transfer mcp with srift mcp. To pin a version, write [email protected] instead of the bare package name.
Config files and formats at a glance
| Client | Config location | Top-level key | Local entry | Remote entry |
|---|---|---|---|---|
| VS Code | .vscode/mcp.json or the user mcp.json | servers | command, args | "type": "http", url |
| Cursor | .cursor/mcp.json or ~/.cursor/mcp.json | mcpServers | "type": "stdio", command, args | url |
| Windsurf (Cascade) | mcp_config.json, opened from the MCP settings | mcpServers | command, args | serverUrl |
| Cline | cline_mcp_settings.json (Configure MCP Servers) | mcpServers | command, args | "type": "streamableHttp", url |
| Claude Code | claude mcp add; project scope writes .mcp.json | mcpServers | -- npx … | --transport http |
| OpenAI Codex | ~/.codex/config.toml | [mcp_servers.<name>] | command, args | url |
| Zed | settings file, context_servers | context_servers | command, args, env | url |
| Gemini CLI | ~/.gemini/settings.json or .gemini/settings.json | mcpServers | command, args | httpUrl |
| Continue | .continue/mcpServers/*.yaml | mcpServers (YAML list) | type: stdio, command, args | type: streamable-http, url |
Claude Desktop and Cursor have their own step-by-step SRIFT guides: send files from Claude and Cursor file transfer.
VS Code, Cursor, Windsurf and Cline
VS Code
VS Code reads MCP servers from .vscode/mcp.json in a workspace, or from the user-level file that the MCP: Open User Configuration command opens. Both use a servers key, not mcpServers, which is the most common copy-paste mistake. (VS Code also reads a portable .mcp.json at the project root, which uses mcpServers.)
{
"servers": {
"srift": { "command": "npx", "args": ["-y", "srift-transfer", "mcp"] },
"srift-hosted": { "type": "http", "url": "https://srift.app/mcp" }
}
}Use one of the two entries, not both, unless you want to compare them.
Cursor
Cursor reads .cursor/mcp.json in a project and ~/.cursor/mcp.json globally. Its field reference marks type as required for local servers.
{
"mcpServers": {
"srift": { "type": "stdio", "command": "npx", "args": ["-y", "srift-transfer", "mcp"] }
}
}Windsurf
Windsurf's Cascade agent keeps servers in mcp_config.json. Cognition now publishes these docs under Devin Desktop, which places the file at ~/.config/devin/mcp_config.json on macOS and Linux and %APPDATA%\devin\mcp_config.json on Windows; older Windsurf installs keep it in their own settings folder. The reliable way to find yours is to open the MCP settings in Cascade, which opens the file. Remote servers use serverUrl.
{
"mcpServers": {
"srift": { "command": "npx", "args": ["-y", "srift-transfer", "mcp"] }
}
}{
"mcpServers": {
"srift-hosted": { "serverUrl": "https://srift.app/mcp" }
}
}Cline
In Cline, open the MCP Servers panel, choose Configure, then Configure MCP Servers to edit cline_mcp_settings.json. For remote servers, set "type": "streamableHttp" explicitly: Cline's documentation notes that omitting it falls back to the legacy SSE transport.
{
"mcpServers": {
"srift": {
"command": "npx",
"args": ["-y", "srift-transfer", "mcp"],
"disabled": false,
"autoApprove": ["srift_session_status", "srift_list_transfers"]
}
}
}autoApprove skips the confirmation for the listed tools. Keep it to read-only tools such as status and transfer lists; never add srift_quick_share or srift_send_file (see the security note below).
Claude Code, OpenAI Codex, Gemini CLI, Zed and Continue
Claude Code
Claude Code adds servers from the command line. For a local server, everything after -- is the command to run, so flags such as -y reach npx instead of Claude Code. The default scope is local to the current project; --scope user makes it available everywhere, and --scope project writes a shared .mcp.json.
claude mcp add --scope user srift -- npx -y srift-transfer mcp
# or the hosted endpoint:
claude mcp add --transport http srift-hosted https://srift.app/mcp
claude mcp listOpenAI Codex
Codex (CLI and IDE extension) reads ~/.codex/config.toml, with one TOML table per server, and can write it for you with codex mcp add.
codex mcp add srift -- npx -y srift-transfer mcp
codex mcp add srift-hosted --url https://srift.app/mcp
codex mcp list[mcp_servers.srift]
command = "npx"
args = ["-y", "srift-transfer", "mcp"]Gemini CLI
Gemini CLI reads mcpServers from ~/.gemini/settings.json or a project's .gemini/settings.json. Remote Streamable HTTP servers use httpUrl (the url field means SSE there). Its documentation advises against underscores in server names.
gemini mcp add -s user srift npx -y srift-transfer mcp
gemini mcp add --transport http srift-hosted https://srift.app/mcpLeave the trust field at its default, false. Setting it to true skips every confirmation for that server, including file sharing.
Zed
In Zed, open Settings → AI → MCP Servers and choose Add Server, or edit the settings file directly under context_servers. A green dot next to the server means it started.
{
"context_servers": {
"srift": { "command": "npx", "args": ["-y", "srift-transfer", "mcp"], "env": {} }
}
}Continue
Continue reads one YAML block per file from .continue/mcpServers/ in the workspace; its config.json format is marked deprecated. MCP tools are only available in agent mode.
name: SRIFT
version: 0.0.1
schema: v1
mcpServers:
- name: srift
type: stdio
command: npx
args:
- "-y"
- "srift-transfer"
- "mcp"Check that it works
After saving the configuration, restart or reload the client and look for the server in its MCP list. A working local server reports 15 tools whose names start with srift_; the hosted endpoint reports 9. Then ask the agent something that exercises the server without side effects, such as “check which SRIFT transports work on this machine”, which calls srift_net_diagnose.
When a local server fails to start, the cause is almost always one of these:
- npx not found. Desktop apps started from a dock or start menu do not always inherit your shell's
PATH. Use the absolute path tonpx, or install the CLI and use the absolute path tosrift;srift install-mcpprints a config with the right path for your install. - Node.js older than 20. Check with
node --version, or use the standalone binary fromcurl -fsSL https://srift.app/install.sh | sh, which needs no Node.js. - A blocked network or sandbox. The server needs outbound HTTPS and WebSocket on port 443. If the machine cannot run a background daemon,
srift mcpruns it inside its own process automatically.srift doctorshows which hop is blocked and how to fix it. - Two definitions of the same server. A project-level and a global file can both define
srift; remove one.
Approval settings and safety
Most clients ask before running a tool, and most let you turn that off per server or per tool (Cline's autoApprove, Gemini CLI's trust, and similar settings elsewhere). For a file-sharing server that choice matters more than usual.
For sensitive files, ask for an encrypted, single-use link: the tool accepts encrypt, maxDownloads and ttlMs arguments, so a request such as “share build.zip encrypted, one download, expiring in an hour” maps onto them directly. How the resulting link behaves is described in how AI coding agents deliver files.
Frequently asked questions
Why does my VS Code configuration ignore the mcpServers key?
VS Code's .vscode/mcp.json and user mcp.json use a top-level servers key. The mcpServers key is used by Cursor, Claude Desktop, Cline, Gemini CLI and VS Code's portable .mcp.json format.
Can I use the hosted SRIFT endpoint to share files from my computer?
No. The hosted endpoint at https://srift.app/mcp has no access to your filesystem and offers only the 9 session and control tools. File sharing needs the local server, started with npx -y srift-transfer mcp or srift mcp.
Do I need an API key?
No. Neither the local server nor the hosted endpoint uses API keys or accounts. The hosted endpoint is rate-limited per IP address instead.
References
- Add and manage MCP servers in VS Code (Microsoft)
- Model Context Protocol (MCP) (Cursor)
- Cascade MCP integration (Cognition (Windsurf / Devin Desktop))
- Configuring MCP servers (Cline)
- Connect Claude Code to tools via MCP (Anthropic)
- Model Context Protocol in Codex (OpenAI)
- Model Context Protocol in Zed (Zed)
- MCP servers with Gemini CLI (Google)
- How to set up MCP in Continue (Continue)
Give your agent a file-transfer tool
Local MCP over stdio (15 tools) or hosted at https://srift.app/mcp (9 session tools, no file access).
{ "mcpServers": { "srift": { "command": "npx", "args": ["-y", "srift-transfer", "mcp"] } } }Related resources
- MCP File Transfer Server for AI AgentsThe core SRIFT MCP server (15 tools, local) and the hosted endpoint (9 tools).SRIFT product
- Send Files From Claude With MCPSet up SRIFT in Claude Desktop and Claude Code.How-to
- Cursor IDE File Transfer via MCPLet Cursor agents hand you files as download links.How-to
- Local vs Remote MCP Servers: stdio and Streamable HTTPWhen an MCP server should run on your machine and when it can be remote: transports, what each can access, auth, and a worked file-transfer example.Explainer
- MCP Server Security for File-Handling ToolsThreats to MCP servers that read or send files: prompt injection, path traversal and exfiltration, and the controls a file-transfer server needs.Explainer
