Skip to content

Connecting to MCP Servers

DeepIntShield can connect to any MCP-compatible server to discover and execute tools. Each connection is called an MCP Client in DeepIntShield terminology.

DeepIntShield supports three connection protocols, each with different authentication options:

TypeDescriptionBest ForAuth Support
STDIOSpawns a subprocess and communicates via stdin/stdoutLocal tools, CLI utilities, scriptsNone
HTTPSends requests to an HTTP endpointRemote APIs, microservices, cloud functionsHeaders, OAuth 2.0
SSEServer-Sent Events for persistent connectionsReal-time data, streaming toolsHeaders, OAuth 2.0

STDIO connections launch external processes and communicate via standard input/output. Best for local tools and scripts.

{
"name": "filesystem",
"connection_type": "stdio",
"stdio_config": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-filesystem"],
"envs": ["HOME", "PATH"]
},
"tools_to_execute": ["*"]
}

Use Cases:

  • Local filesystem operations
  • Python/Node.js MCP servers
  • CLI utilities and scripts
  • Database tools with local credentials

HTTP connections communicate with MCP servers via HTTP requests. Ideal for remote services and microservices.

HTTP connections support two authentication methods:

  • Header-based authentication: Static headers (API keys, custom tokens)
  • OAuth 2.0: Dynamic token-based authentication with automatic token refresh

Use static headers for API keys and custom authentication tokens:

{
"name": "web-search",
"connection_type": "http",
"connection_string": "https://mcp-server.example.com/mcp",
"auth_type": "headers",
"headers": {
"Authorization": "Bearer your-api-key",
"X-Custom-Header": "value"
},
"tools_to_execute": ["*"]
}

Use Cases:

  • Static API keys
  • Bearer token authentication
  • Custom header-based auth schemes

Use OAuth 2.0 for secure, user-based authentication with automatic token refresh:

{
"name": "web-search",
"connection_type": "http",
"connection_string": "https://mcp-server.example.com/mcp",
"auth_type": "oauth",
"oauth_config": {
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"authorize_url": "https://auth.example.com/authorize",
"token_url": "https://auth.example.com/token",
"scopes": ["read", "write"]
},
"tools_to_execute": ["*"]
}

Features:

  • Automatic token refresh before expiration
  • PKCE support for public clients
  • Dynamic client registration (RFC 7591)
  • OAuth discovery from server URLs

→ Learn more about OAuth authentication →

Use Cases:

  • User-delegated access
  • Third-party service integrations
  • Secure credential management
  • Compliance with OAuth 2.0 standards

Overall HTTP Use Cases:

  • Remote API integrations
  • Cloud-hosted MCP services
  • Microservice architectures
  • Third-party tool providers

Server-Sent Events (SSE) connections provide real-time, persistent connections to MCP servers. Like HTTP connections, SSE supports both header-based and OAuth authentication.

{
"name": "live-data",
"connection_type": "sse",
"connection_string": "https://stream.example.com/mcp/sse",
"auth_type": "headers",
"headers": {
"Authorization": "Bearer your-api-key"
},
"tools_to_execute": ["*"]
}
{
"name": "live-data",
"connection_type": "sse",
"connection_string": "https://stream.example.com/mcp/sse",
"auth_type": "oauth",
"oauth_config": {
"client_id": "your-client-id",
"authorize_url": "https://auth.example.com/authorize",
"token_url": "https://auth.example.com/token",
"scopes": ["stream:read"]
},
"tools_to_execute": ["*"]
}

Use Cases:

  • Real-time market data
  • Live system monitoring
  • Event-driven workflows
  • User-authenticated streaming connections

→ Learn more about OAuth authentication →


  1. Navigate to MCP Gateway in the sidebar - you’ll see a table of all registered servers
MCP Servers Table
  1. Click New MCP Server button to open the creation form

  2. Fill in the connection details:

Add MCP Client Form

Fields:

  • Name: Unique identifier (no spaces or hyphens, ASCII only)
  • Connection Type: STDIO, HTTP, or SSE
  • For STDIO: Command, arguments, and environment variables
  • For HTTP/SSE: Connection URL
  1. Click Create to connect

Once connected, click on any client row to open the configuration sheet:

MCP Client Configuration and Tools

Here you can:

  • View all discovered tools with their descriptions and parameters
  • Enable/disable individual tools via toggle switches
  • Configure auto-execution for specific tools
  • Edit custom headers for HTTP/SSE connections
  • View the full connection configuration as JSON

Controls which tools from the client are available:

ValueBehavior
["*"]All tools from this client are included
[] or omittedNo tools included (deny-by-default)
["tool1", "tool2"]Only specified tools are included

Controls which tools can be automatically executed in Agent Mode:

ValueBehavior
["*"]All tools are auto-executed
[] or omittedNo tools are auto-executed (manual approval required)
["tool1", "tool2"]Only specified tools are auto-executed

Example configuration:

{
"name": "filesystem",
"connection_type": "stdio",
"stdio_config": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-filesystem"]
},
"tools_to_execute": ["*"],
"tools_to_auto_execute": ["read_file", "list_directory"]
}

Connection strings and headers that contain secrets (URLs with embedded API keys, bearer tokens, custom auth headers) are handled securely:

  • Stored encrypted at rest
  • Redacted in API responses and the Web UI for security
  • Resolved automatically during client connection

When you create or edit a client in the Web UI, enter the full connection URL or header value directly - DeepIntShield encrypts and redacts it for you.


StateDescription
connectedClient is active and tools are available
connectingClient is establishing connection
disconnectedClient lost connection but can be reconnected
errorClient configuration or connection failed

Manage connected clients from the MCP Gateway in the Web UI:

  • Reconnect a client: open the client row and click Reconnect to re-establish the connection.
  • Edit client configuration: open the client’s configuration sheet to change the connection details, headers, or the set of tools in tools_to_execute, then click Save Changes.
  • Remove a client: open the client row and delete it to disconnect and remove it from the gateway.

DeepIntShield automatically monitors MCP client health with periodic checks every 10 seconds by default.

By default, DeepIntShield uses the lightweight ping method for health checks. However, you can configure the health check method based on your MCP server’s capabilities:

MethodWhen to UseOverheadFallback
Ping (default)Server supports MCP ping protocolMinimalBest for most servers
ListToolsServer doesn’t support ping, or you need heavier checksHigherMore resource-intensive

You can toggle the is_ping_available setting for each client from the Web UI:

  1. Navigate to MCP Gateway and select a server
  2. In the configuration panel, toggle “Ping Available for Health Check”
  3. Enable: Uses lightweight ping for health checks
  4. Disable: Uses listTools method for health checks instead
Ping Available Toggle

When a client disconnects:

  1. State changes to disconnected
  2. Tools from that client become unavailable
  3. You can reconnect from the Web UI

Note: Changing is_ping_available takes effect immediately without requiring a client reconnection.


A brief network hiccup won’t take your tools offline: DeepIntShield retries transient connection failures with exponential backoff (a few attempts over roughly 30 seconds) and automatically reconnects a client in the background once its health checks fail. You don’t need to configure anything for this to work.

What this means for you when debugging a connection:

  • Transient failures resolve on their own. Connection timeouts, refused connections, DNS hiccups, HTTP 5xx, and HTTP 429 are retried automatically - a client may briefly show connecting and recover without intervention.
  • Configuration mistakes fail fast. Auth failures (401/403), bad requests (400/405/422), invalid credentials, and a missing command (e.g. command not found: npx) are not retried. If a client lands in the error state immediately, check the connection URL, credentials/headers, and - for STDIO - that the command exists in the runtime environment.
  • Disconnected clients reconnect automatically. After repeated health-check failures a client is marked disconnected, its tools become unavailable, and DeepIntShield reconnects it in the background. Tools return automatically once it recovers.

You can also trigger a reconnection yourself at any time from the MCP Gateway: open the client row and click Reconnect. Manual reconnection also uses the retry logic for robustness.


MCP client names have specific requirements:

Valid names: filesystem, web_search, myAPI, tool123

Invalid names: my-tools, web search, 123tools, datos-api


Tool Execution

Learn how to execute tools from connected MCP servers

Open →

Agent Mode

Enable autonomous tool execution with auto-approval

Open →