Remote MCP Providers allow you to connect Osaurus to external MCP (Model Context Protocol) servers, aggregating their tools into your Osaurus instance.
With Remote MCP Providers, you can:
- Connect to any MCP server over HTTP/SSE
- Automatically discover and register remote tools
- Use remote tools alongside local plugins
- Aggregate tools from multiple MCP servers
This is different from Remote Providers (which provide inference endpoints). Remote MCP Providers provide tools that models can call.
- Open the Management window (
⌘ Shift M) - Click Providers in the sidebar
- Scroll to the MCP Providers section
- Click Add MCP Provider
- Enter the MCP server URL
- Configure authentication if required
- Click Save
| Setting | Description |
|---|---|
| Name | Display name for the provider |
| URL | Full URL to the MCP server endpoint |
| Enabled | Whether the provider is active |
| Setting | Description |
|---|---|
| Token | Bearer token for authentication (stored in Keychain) |
| Custom Headers | Additional HTTP headers |
| Setting | Description | Default |
|---|---|---|
| Auto-connect | Connect automatically when Osaurus starts | true |
| Streaming Enabled | Use SSE streaming for tool discovery | false |
| Discovery Timeout | Timeout for tool discovery (seconds) | 20 |
| Tool Call Timeout | Timeout for tool execution (seconds) | 45 |
When you connect to an MCP provider:
- Osaurus establishes a connection to the MCP server
- Sends a
tools/listrequest to discover available tools - Registers each tool with a namespaced name
- Tools become available for model inference
To prevent naming conflicts, tools from remote MCP providers are prefixed with the provider name:
provider_toolname
For example, if you connect a provider named "myserver" with a tool called "search", the tool will be registered as:
myserver_search
When a model calls a remote MCP tool:
- Osaurus receives the tool call request
- Routes it to the correct MCP provider
- Sends the request to the remote MCP server
- Returns the result to the model
Remote MCP tools work like any other tool. When a model decides to use a tool, Osaurus handles the routing automatically.
List all tools (including remote ones):
curl http://127.0.0.1:1337/mcp/toolsCall a remote tool directly:
curl http://127.0.0.1:1337/mcp/call \
-H "Content-Type: application/json" \
-d '{
"name": "myserver_search",
"arguments": {"query": "hello world"}
}'MCP Providers can be in the following states:
| State | Indicator | Description |
|---|---|---|
| Connected | Green | Active connection, tools discovered |
| Connecting | Blue (animated) | Establishing connection |
| Disconnected | Gray | Not connected |
| Disabled | Gray | Manually disabled |
| Error | Red | Connection or discovery failed |
When connected, the provider card shows:
- Number of tools discovered
- Last connected timestamp
- Any error messages
Before saving a provider, you can test the connection:
- Enter the URL and authentication
- Click Test Connection
- If successful, you'll see the number of tools discovered
- Click Save to persist the provider
"Connection refused"
- Verify the MCP server is running
- Check the URL is correct (including protocol and port)
- Ensure no firewall is blocking the connection
"Authentication failed"
- Verify your token is correct
- Check if custom headers are required
"Discovery timeout"
- The MCP server may be slow to respond
- Try increasing the discovery timeout
- Check server health
"No tools discovered"
- The MCP server may not expose any tools
- Check the server's tool configuration
Use the Insights tab to monitor MCP provider activity:
- Open Management window (
⌘ Shift M) - Click Insights in the sidebar
- Filter by source or search for your provider name
Authentication tokens are stored in the macOS Keychain, ensuring they are:
- Encrypted at rest
- Protected by your macOS login
- Never exposed in configuration files
Custom headers marked as "secret" are also stored in the Keychain.
Non-secret configuration is stored at:
~/.osaurus/providers/mcp.json
Suppose you have an MCP server running at https://mcp.example.com/sse:
- Click Add MCP Provider
- Enter:
- Name: "Example Server"
- URL:
https://mcp.example.com/sse - Token: (your auth token)
- Click Test Connection to verify
- Click Save
The server's tools will now be available in Osaurus as:
example-server_tool1example-server_tool2- etc.
┌─────────────────────────────────────────────────────────────────┐
│ Osaurus │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ToolRegistry │ │
│ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │
│ │ │ Local Plugin │ │ Local Plugin │ │ MCP Provider │ │ │
│ │ │ (browser) │ │ (filesystem) │ │ Tools │ │ │
│ │ └──────────────┘ └──────────────┘ └──────┬───────┘ │ │
│ └─────────────────────────────────────────────│───────────┘ │
│ │ │
│ ┌─────────────────────────────────────────────│───────────┐ │
│ │ MCPProviderManager │ │ │
│ │ ┌─────────────────────────────────────────┴────────┐ │ │
│ │ │ Remote MCP Client │ │ │
│ │ └─────────────────────────────────────────┬────────┘ │ │
│ └─────────────────────────────────────────────│───────────┘ │
└─────────────────────────────────────────────────│────────────────┘
│
▼
┌─────────────────────────────┐
│ Remote MCP Server │
│ (external) │
│ ├── tool1 │
│ ├── tool2 │
│ └── tool3 │
└─────────────────────────────┘
- Remote Providers — Connect to inference APIs
- Plugin Authoring — Create local plugins
- FEATURES.md — Feature inventory
- README — Quick start guide