Connect MCP
Connect your AI assistants to Willow to access all your enabled servers.
Opening the Connect Dialog
Click Connect MCP at the bottom of the sidebar to open the connection dialog.
Connection Methods
You can connect using either remote (Streamable HTTP) or local (STDIO) connection methods. You can also use the MCP-S CLI for terminal-based access.
MCP Gateway
The standard connection method using Streamable HTTP. Your gateway URL follows this format:
https://<org>.mcp-s.com/mcp?mcp=<MCP_NAME>
Where:
<org>is your organization's subdomain<MCP_NAME>is the name of the MCP server you want to connect to
Dynamic MCP Gateway (beta)
The Dynamic MCP Gateway automatically provides relevant tools from all your connected MCPs based on context:
https://<org>.mcp-s.com/dmcp
With Dynamic MCP, you don't need to specify individual servers - the gateway intelligently selects the appropriate tools for your task.
Quick Setup
The Connect MCP dialog provides quick setup buttons:
- Add to Cursor - Automatically configures Cursor IDE
- Add to VS Code - Automatically configures VS Code
Selecting Your MCP Client
The dialog shows icons for various MCP clients. Click on your client to get specific setup instructions. Examples include:
- Cursor
- Claude
- Claude Code
- Windsurf
- VSCode
- Internal AI Chat
Manual Configuration Examples
Copy the Streamable HTTP URL and add it to your client's MCP configuration.
Cursor
Add to your .cursor/mcp.json:
{
"mcpServers": {
"willow": {
"url": "https://<org>.mcp-s.com/mcp?mcp=github"
}
}
}
Or for Dynamic MCP:
{
"mcpServers": {
"willow": {
"url": "https://<org>.mcp-s.com/dmcp"
}
}
}
Claude Desktop
Add to your Claude config file:
{
"mcpServers": {
"willow": {
"url": "https://<org>.mcp-s.com/mcp?mcp=github"
}
}
}
Using Multiple Servers
To connect to specific servers, use the mcp parameter:
{
"mcpServers": {
"github": {
"url": "https://<org>.mcp-s.com/mcp?mcp=github"
},
"jira": {
"url": "https://<org>.mcp-s.com/mcp?mcp=jira"
}
}
}
Or use Dynamic MCP to let the gateway handle tool selection automatically.
Machine User Authentication
Machine users are programmatic accounts for bots, scripts, and automations. They authenticate differently from regular users — instead of browser-based login, they use a pre-provisioned access token.
See Machine Users for how to create and manage machine user accounts.
Streamable HTTP (Remote)
For HTTP connections, include the machine user's access token in the Authorization header:
{
"mcpServers": {
"willow": {
"url": "https://<org>.mcp-s.com/mcp?mcp=github",
"headers": {
"Authorization": "Bearer <MACHINE_USER_ACCESS_TOKEN>"
}
}
}
}
STDIO (Local)
For STDIO connections, pass the token via the AUTO_AUTHENTICATE_TOKEN environment variable:
{
"mcpServers": {
"willow": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@mcp-s/mcp"],
"env": {
"ORG": "<org>",
"USER_ACCESS_KEY": "<USER_ACCESS_KEY>",
"AUTO_AUTHENTICATE_TOKEN": "<MACHINE_USER_ACCESS_TOKEN>",
"MCP": "github"
}
}
}
}
This bypasses the interactive authentication flow, allowing headless and automated environments to connect without user interaction.
OAuth2 Client Credentials
For enterprise environments, machine users can authenticate using OAuth2 Client Credentials instead of a static token. See Machine Users — With Client Credentials for setup instructions.