Skip to content

MCP (Model Control Protocol) servers allow agents to use external tools through a standardized protocol. They can be configured at both agent and manifest levels.

Overview

MCP servers provide a standardized way to expose tools and resources to agents. LLMling-Agent supports multiple server types:

  • Stdio: Command-line servers using standard input/output
  • SSE: Server-Sent Events based servers
  • StreamableHTTP: HTTP streaming servers

Scope Levels

MCP servers can be configured at different levels:

  • Agent level: Servers available only to specific agents
  • Team level: Servers shared within a team
  • Manifest level: Global servers available to all agents

Servers can use simple string syntax (e.g., "python -m mcp_server") or detailed configuration for advanced use cases.

Configuration Reference

StdioMCPServerConfig

MCP server started via stdio.

Uses subprocess communication through standard input/output streams.

StdioMCPServerConfig (YAML)
1
2
3
4
5
6
7
- type: stdio
  command: python  # Command to execute (e.g. "pipx", "python", "node").
  args: []  # Command arguments (e.g. ["run", "some-server", "--debug"]).
  name: null  # Optional name for referencing the server.
  enabled: true  # Whether this server is currently enabled.
  env: null  # Environment variables to pass to the server process.
  timeout: 60.0  # Timeout for the server process in seconds.

SSEMCPServerConfig

MCP server using Server-Sent Events transport.

Connects to a server over HTTP with SSE for real-time communication.

SSEMCPServerConfig (YAML)
- type: sse
  url: !!python/object:pydantic.networks.HttpUrl  # URL of the SSE server endpoint.
    _url: !!python/object/new:pydantic_core._pydantic_core.Url
    - https://api.example.com/sse
  headers: null  # Headers to send with the SSE request.
  auth:  # OAuth settings for the SSE server.
    oauth: false
    redirect_port: 3030
    redirect_path: /callback
    scope: null
    persist: keyring
  name: null  # Optional name for referencing the server.
  enabled: true  # Whether this server is currently enabled.
  env: null  # Environment variables to pass to the server process.
  timeout: 60.0  # Timeout for the server process in seconds.

StreamableHTTPMCPServerConfig

MCP server using StreamableHttp.

Connects to a server over HTTP with streamable HTTP.

StreamableHTTPMCPServerConfig (YAML)
- type: streamable-http
  url: !!python/object:pydantic.networks.HttpUrl  # URL of the HTTP server endpoint.
    _url: !!python/object/new:pydantic_core._pydantic_core.Url
    - https://api.example.com/mcp
  headers: null  # Headers to send with the HTTP request.
  auth:  # OAuth settings for the HTTP server.
    oauth: false
    redirect_port: 3030
    redirect_path: /callback
    scope: null
    persist: keyring
  name: null  # Optional name for referencing the server.
  enabled: true  # Whether this server is currently enabled.
  env: null  # Environment variables to pass to the server process.
  timeout: 60.0  # Timeout for the server process in seconds.

Configuration Notes

  • Stdio servers execute as subprocesses with the specified command and arguments
  • SSE and StreamableHTTP servers connect to remote URLs
  • All server types support timeout configuration
  • Environment variables can be passed to stdio servers
  • Servers can be enabled/disabled without removing configuration
  • Command strings like "python -m mcp_server" are automatically parsed into command and args
  • Use manifest-level servers for shared tools, agent-level for specialized tools