mcp-remote-static
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-remote-staticsearch the remote documentation for 'authentication flow'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-remote-static
This is a fork of mcp-remote with added support for static OAuth client configuration. This package is designed for marketplace scenarios and OAuth servers that require pre-registered clients with static
client_idandclient_secret, using standard OAuth 2.0 authorization code flow.
Connect MCP clients (Claude Desktop, Cursor, Windsurf) to remote MCP servers with static OAuth client authentication.
⚠️ Marketplace Setup Required: Configure callback URL http://localhost:17091/oauth/callback in your marketplace before use.
Marketplace Configuration
Required: Register callback URL in your marketplace OAuth client settings:
http://localhost:17091/oauth/callbackConfiguration:
Log in to marketplace admin panel
Navigate to OAuth client settings
Add
http://localhost:17091/oauth/callbackto allowed redirect URIsSave configuration
Custom host/port: Update callback URL accordingly (e.g., http://127.0.0.1:17091/oauth/callback for --host 127.0.0.1)
Configuration
Method 1: JSON String (Recommended)
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": [
"mcp-remote-static",
"https://remote.mcp.server/sse",
"--static-oauth-client-info",
"{\"client_id\":\"your-client-id\",\"client_secret\":\"your-client-secret\"}"
]
}
}
}With Environment Variables:
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": [
"mcp-remote-static",
"https://remote.mcp.server/sse",
"--static-oauth-client-info",
"{\"client_id\":\"${MCP_CLIENT_ID}\",\"client_secret\":\"${MCP_CLIENT_SECRET}\"}"
],
"env": {
"MCP_CLIENT_ID": "your-client-id",
"MCP_CLIENT_SECRET": "your-client-secret"
}
}
}
}Method 2: JSON File
Create oauth_client_info.json:
{
"client_id": "your-client-id",
"client_secret": "your-client-secret"
}Reference in config:
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": [
"mcp-remote-static",
"https://remote.mcp.server/sse",
"--static-oauth-client-info",
"@/path/to/oauth_client_info.json"
]
}
}
}Client Setup
Configuration Files:
Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%APPDATA%\Claude\claude_desktop_config.json(Windows)Cursor:
~/.cursor/mcp.jsonWindsurf:
~/.codeium/windsurf/mcp_config.json
Restart the client after configuration changes.
Configuration Options
Required Arguments
serverUrl (args[0], required)
MCP server URL
Example:
https://remote.mcp.server/sse
--static-oauth-client-info <value> (required)
Static OAuth client information
Format: JSON string or
@file-pathExamples:
JSON string:
"{\"client_id\":\"xxx\",\"client_secret\":\"yyy\"}"File path:
@/path/to/oauth_client_info.json
Optional Arguments
callbackPort (args[1], optional)
Callback server port number
Default:
17091(fixed for static OAuth)Example:
17091or9696
--debug
Enable debug logging
Logs written to:
~/.mcp-auth/{server_hash}_debug.log
--transport <strategy>
Transport strategy
Values:
sse-only|http-only|sse-first|http-firstDefault:
http-first
--ignore-tool <tool-name> (can be used multiple times)
Ignore specified tools
Example:
--ignore-tool tool1 --ignore-tool tool2
--auth-timeout <seconds>
OAuth callback timeout in seconds
Default:
30Example:
--auth-timeout 60
--header <header-value> (can be used multiple times)
Custom HTTP request headers
Format:
"HeaderName: value"Example:
--header "Authorization: Bearer token"
--host <hostname>
Callback server hostname
Default:
localhostExample:
--host 127.0.0.1
Complete Example
{
"mcpServers": {
"my-server": {
"command": "npx",
"args": [
"mcp-remote-static",
"https://remote.mcp.server/sse",
"17091",
"--static-oauth-client-info",
"{\"client_id\":\"your-client-id\",\"client_secret\":\"your-client-secret\"}",
"--transport",
"sse-only",
"--ignore-tool",
"tool1",
"--ignore-tool",
"tool2",
"--auth-timeout",
"60",
"--header",
"X-Custom-Header: value",
"--debug"
]
}
}
}Troubleshooting
Clear credentials:
rm -rf ~/.mcp-authAuthentication errors:
Verify
client_idandclient_secretare correctVerify callback URL matches marketplace:
http://localhost:17091/oauth/callbackClear credentials and retry
Check logs:
Claude Desktop:
tail -F ~/Library/Logs/Claude/mcp*.log(macOS/Linux)Use
--debugflag for detailed logs:~/.mcp-auth/{server_hash}_debug.log
Test connection:
npx mcp-remote-client-static https://server/sse --static-oauth-client-info "{\"client_id\":\"xxx\",\"client_secret\":\"yyy\"}"Node version: Requires Node 18+
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zekozhang/mcp-remote-static'
If you have feedback or need assistance with the MCP directory API, please join our Discord server