MCP Servers
Configure remote MCP servers and expose remote tools in chat
MCP Servers
MCP (Model Context Protocol) allows your project to connect to external tool providers through a Streamable HTTP endpoint.
In ResearchX, MCP servers are configured per project and can provide additional tools for the chat agent.
What You Can Configure
- Add MCP servers in the project workspace asset panel (
MCPtab) - Enable or disable each server
- Set server name, display name, and MCP endpoint URL
- Test connectivity and discover available remote tools
- Optionally limit exposed tools with a whitelist (
allowed_tools) - Configure auth mode (
noneorbearer_token) - Configure request stability parameters (
connect_timeout_ms,request_timeout_ms) - Configure whether discovered tools are exposed to chat
Where to Find It
- Open project workspace
- Open the Assets panel (
Agentsicon in the top area) - Switch to the
MCPsection - Click
Newto add a new MCP server
Add a Server
Fill in:
name: short server identifier (e.g.linear)display_name: human readable name shown in UI (e.g.Linear)url: Streamable HTTP MCP endpoint (e.g.https://example.com/mcp)enabled: whether the server is activeexpose_tools_to_chat: whether MCP tools are exposed as chat tools
Authenticate the Server
You can choose:
none: no auth header is addedbearer_token: token is passed asAuthorization: Bearer <token>
Test and Load Tools
After saving:
- Select the server
- Click
Test & Load Tools - Confirm the server is reachable and check the discovered tool list
- Save tool allowlist if needed
Discovery results are used to:
- verify connectivity before use
- show tool names, title, schema and description
- provide source for
allowed_tools
Expose Rules
Chat uses MCP tools only when:
- the server is enabled
expose_tools_to_chatis on- the tool is allowed (if you set
allowed_tools)
Safety and Confirmation Flow
Model tool calls to MCP are treated as tool execution and can be confirmed before running if configured.
requires_user_confirmation(global): apply confirmation to all MCP toolsconfirmation_tools(tool-level): apply confirmation only to specific tools
When confirmation is required, requests enter the same tool permission flow used by other agent actions (visible in conversation controls).
Naming and Visibility
Each MCP tool is mapped to a stable tool name in chat:
mcp_<server_name>_<tool_name>
This avoids conflicts with local actions/agents/tools.
Operations Reference
Common Actions
- Create server
- Update config
- Delete server
- Test connection
- Refresh discovered tools
- Open discovered tool details
Supported Transport
Current implementation uses streamable_http only.
Practical Tips
- Keep
nameconcise and stable, because it affects generated tool names - Use
allowlistfirst when a remote service exposes many tools - Start with smaller timeout values and increase if endpoint initialization is slow
- Disable unused servers to reduce tool noise in chat
FAQ
No tools appear after test
Possible causes:
- The server is not enabled
- URL is not reachable or not a Streamable HTTP MCP endpoint
- Timeout values are too low for the server to respond
- The server returns zero tools
Try:
- Re-check
urland transport (currently onlystreamable_httpis supported) - Increase timeout and retest
- Confirm server logs or network policy for deny/timeout errors
Tool not shown in chat after discovery
Check these conditions:
expose_tools_to_chatis enabled- The server is
enabled - If
allowed_toolsis configured, the tool is included in the list
MCP call gets confirmation request
This is expected when:
requires_user_confirmationis true, or- the tool name appears in
confirmation_tools
Approve via the normal tool permission flow in chat when you trust the action.
Permission/credential errors
For bearer_token servers, verify the token value is still valid and non-empty.