
How to add Adaptive Cards MCP to Windsurf
Generate, validate, and optimize accessible Adaptive Cards for Teams, Outlook, Copilot, and other Microsoft surfaces. Paste the config into ~/.codeium/windsurf/mcp_config.json and restart Windsurf.
Last updated June 14, 2026 · 27★ · stdio · no auth
Windsurf config for Adaptive Cards MCP
claude mcp add adaptive-cards-mcp -- npx adaptive-cards-mcp{
"mcpServers": {
"adaptive-cards-mcp": {
"command": "npx",
"args": [
"adaptive-cards-mcp"
]
}
}
}Setup steps
- 1Open Windsurf → Cascade → the hammer/MCP icon → Configure (or edit ~/.codeium/windsurf/mcp_config.json).
- 2Paste the Adaptive Cards MCP config below.
- 3Fill in placeholder secrets, then save.
- 4Click Refresh in the MCP panel.
- 5Adaptive Cards MCP's tools become available to Cascade.
Before you start
- Node.js with npx available (the server is fetched and run via npx; no separate install required)
- An MCP-compatible client (Claude Code, GitHub Copilot, Cursor, Windsurf, etc.)
What Adaptive Cards MCP can do in Windsurf
generate_cardNatural language / data into valid Adaptive Card v1.6 JSON.
validate_cardSchema validation plus accessibility score, host compatibility, and suggested fixes.
data_to_cardAuto-select Table / FactSet / Chart / List based on the shape of the input data.
optimize_cardImprove accessibility, improve performance, and modernize actions.
template_cardConvert a static card into a ${expression} data-bound template.
transform_cardVersion upgrade/downgrade and host-config adaptation across hosts.
suggest_layoutRecommend the best layout pattern for a given description, with rationale.
generate_and_validateGenerate, validate, and optionally optimize a card in one call.
Security
No API key needed when used via an MCP client — the host LLM provides the intelligence. Telemetry is opt-in and disabled by default (set MCP_TELEMETRY=true to enable); card content, prompts, data payloads, IPs, file paths, and env vars are never sent. For SSE/HTTP transport you can enable auth with MCP_API_KEY (and MCP_AUTH_MODE=bearer).
Adaptive Cards MCP + Windsurf FAQ
Where is the Windsurf config file?
Windsurf reads MCP servers from ~/.codeium/windsurf/mcp_config.json. Paste the Adaptive Cards MCP config there under the "mcpServers" key and restart the client.
Is Adaptive Cards MCP safe to use with Windsurf?
No API key needed when used via an MCP client — the host LLM provides the intelligence. Telemetry is opt-in and disabled by default (set MCP_TELEMETRY=true to enable); card content, prompts, data payloads, IPs, file paths, and env vars are never sent. For SSE/HTTP transport you can enable auth with MCP_API_KEY (and MCP_AUTH_MODE=bearer).
Do I need an API key?
No. When used via an MCP client (Claude Code, Copilot, Cursor, Windsurf), the host LLM provides the intelligence. API keys (Anthropic/OpenAI/Azure/Ollama) are only needed for standalone or library usage.
Which Microsoft hosts are supported?
Generic (1.6), Teams (1.6), Outlook (1.4), Web Chat (1.6), Windows (1.6), Viva Connections (1.4), and Webex (1.3). The server downgrades cards to each host's max version and removes unsupported features.
Can it run as an HTTP/SSE server?
Yes. Set TRANSPORT=sse PORT=3001 to run it over SSE/HTTP (e.g., for Microsoft 365 Copilot / Copilot Studio or ChatGPT connectors), optionally with MCP_API_KEY for auth.