Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Description from the maker (original English)
Generate, validate, and optimize Adaptive Cards for Teams, Outlook, and Copilot.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"adaptive-cards": {
"command": "npx",
"args": [
"-y",
"adaptive-cards-mcp"
]
}
}
}Run this in your terminal
claude mcp add adaptive-cards -- npx -y adaptive-cards-mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"adaptive-cards": {
"command": "npx",
"args": [
"-y",
"adaptive-cards-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"adaptive-cards": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"adaptive-cards-mcp"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account VikrantSingh01, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (2.3.0) reached the registry 8 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Vexa, emailmd, MCP WhatsApp Cloud
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
An MCP server that helps AI assistants generate valid, accessible Adaptive Cards for Teams, Outlook, Copilot, and other Microsoft surfaces. 9 tools, 3 guided workflows, 924 tests.
Blog: I Built an MCP Server That Makes AI 10x Better at Adaptive Cards
Your browser does not support the video tag.
No install needed — npx downloads and runs it automatically.
Claude Code
claude mcp add adaptive-cards-mcp -- npx adaptive-cards-mcp
GitHub Copilot (VS Code)
Add to .vscode/mcp.json:
{
"servers": { "adaptive-cards-mcp": { "command": "npx", "args": ["adaptive-cards-mcp"] } } }
</details>
Cursor
Add to .cursor/mcp.json:
{
"mcpServers": { "adaptive-cards-mcp": { "command": "npx", "args": ["adaptive-cards-mcp"] } } }
</details>
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "adaptive-cards-mcp": { "command": "npx", "args": ["adaptive-cards-mcp"] } } }
</details>
Microsoft 365 Copilot / Copilot Studio (HTTP/SSE)
TRANSPORT=sse PORT=3001 npx adaptive-cards-mcp
TRANSPORT=sse MCP_API_KEY=your-secret npx adaptive-cards-mcp
https://your-server.azurewebsites.net/sse)OpenAI ChatGPT
Just ask your AI assistant in natural language:
> Create an expense approval card for Teams
> Convert this JSON data into an Adaptive Card table
> Validate this card and fix accessibility issues
> Make this card work on Outlook (v1.4)
The AI picks the right tools, generates a valid card, validates it, and returns production-ready JSON you can paste directly into the Adaptive Cards Designer to preview.
Describe what you need — the AI figures out which tools to call:
Approvals and workflows:
> Create an expense approval card for Teams with requester photo, amount,
category, line items, and approve/reject/comment buttons
```
Build a time-off request card — employee name, dates, remaining PTO balance,
manager approval with optional rejection reason
Notifications and alerts:
> Create a CI/CD deployment notification: service name, environment, build number,
commit SHA, deploy status with rollback button
```
Generate a PagerDuty-style incident alert card — severity P1, affected service,
start time, on-call engineer, acknowledge/escalate actions
Data and reports:
> Here's our Q1 sales data, turn it into a card:
[{"region":"APAC","revenue":1250000,"growth":"12%"}, {"region":"EMEA","revenue":980000,"growth":"8%"}, {"region":"Americas","revenue":2100000,"growth":"15%"}]
```
Convert this CSV to a card:
Employee,Department,Start Date,Status Jane Kim,Engineering,2026-01-15,Active Bob Lee,Design,2026-02-01,Active Carol Wu,PM,2026-03-10,Onboarding
Forms and input:
> Create an employee onboarding checklist — new hire name, start date,
assigned buddy, IT setup tasks with checkboxes, and a submit button
```
Build a customer feedback survey card with a 1-5 star rating,
comment field, and NPS score dropdown
Profiles and status:
> Create a team member profile card with photo, name, title, department,
skills tags, and contact buttons for email/chat/calendar
```
Build a service health dashboard card showing 5 microservices
with status indicators (healthy/degraded/down) and last check time
Cross-host and versioning:
> This card works in Teams but breaks in Outlook — fix it
Make this card work on Webex (v1.3 only, no Table, no Action.Execute)
Downgrade this v1.6 card to v1.4 for Viva Connections
Validation and optimization:
> Validate this card and tell me what's wrong — I'm getting render errors
Make this card accessible — it needs to work with screen readers
This card is too complex, optimize it for performance and compact layout
| What you say | What the AI calls |
|---|---|
| "Create a leave approval card for Teams" | generate_and_validate → optimized card with Approve/Reject actions |
| "Here's my API response, make it a card" | data_to_card → auto-picks Table/FactSet/List based on data shape |
| "Is this card valid for Outlook?" | validate_card → schema errors, accessibility score, host compatibility |
| "Make this card accessible" | optimize_card → adds wrap, altText, speak, heading styles |
| "Convert this card to a reusable template" | template_card → static values become ${expression} bindings |
| "This card needs to work on v1.3" | transform_card → downgrades, removes unsupported features |
| "What layout should I use for a dashboard?" | suggest_layout → pattern recommendation with rationale |
For guided, multi-step workflows, use the built-in prompts directly:
Create a card:
> /adaptive-cards-mcp:create-adaptive-card
description: "Expense approval with requester photo, line items table, total amount, and approve/reject buttons with comment field" host: teams intent: approval
Runs: generate → validate → optimize → host config
/adaptive-cards-mcp:create-adaptive-card
description: "CI/CD deployment notification with service name, environment, build number, status badge, and rollback action" host: teams intent: notification
/adaptive-cards-mcp:create-adaptive-card
description: "Employee profile card with photo, name, title, department, contact info, and skills tags" host: outlook intent: profile
Convert data to a card:
> /adaptive-cards-mcp:convert-data-to-card
data: [ { "task": "Review PR #482", "assignee": "Jane", "due": "2026-03-21", "status": "pending" }, { "task": "Deploy hotfix v2.1.3", "assignee": "Bob", "due": "2026-03-19", "status": "in-progress" }, { "task": "Update API docs", "assignee": "Carol", "due": "2026-03-22", "status": "done" } ] title: "Sprint Tasks" presentation: table
/adaptive-cards-mcp:convert-data-to-card
data: { "service": "api-gateway", "cpu": "92%", "memory": "78%", "requests": "12.4k/min", "p99_latency": "245ms", "error_rate": "0.3%", "uptime": "99.97%" } title: "Service Health — api-gateway" presentation: facts
Runs: analyze data → pick best layout → validate output
Review an existing card:
> /adaptive-cards-mcp:review-adaptive-card
card: { "type": "AdaptiveCard", "version": "1.6", "body": [...your card...] } host: outlook
Runs: validate schema + accessibility → auto-fix issues → summary report
For use in your own code (bots, APIs, CI pipelines), install the package:
npm install adaptive-cards-mcp
import { generateCard, validateCardFull, dataToCard, optimizeCard } from 'adaptive-cards-mcp';
const result = await generateCard({ content: "Create a flight status card", host: "teams", intent: "display" });
console.log(result.card); // Adaptive Card JSON console.log(result.cardId); // Reference ID for subsequent calls console.log(result.validation); // Schema + accessibility + host compat
See the Library API reference for full details.
Card-producing tools return two clean blocks — card JSON you can copy, and a metadata summary:
```json
{ "type": "AdaptiveCard", "version": "1.6", "body": [ ... ], "actions": [ ... ] }
Validation: Valid Accessibility Score: 100/100 Elements: 7 | Nesting Depth: 2 | Version: 1.6 Card ID: card-abc123 Steps: generate → validate → optimize Try it out: Paste the card JSON into the Adaptive Cards Designer Local Preview: file:///tmp/ac-preview-xyz.html
| Tool | Description |
|---|---|
generate_card | Natural language / data → valid Adaptive Card v1.6 JSON |
validate_card | Schema validation + accessibility score + host compatibility + suggested fixes |
data_to_card | Auto-select Table / FactSet / Chart / List from data shape |
optimize_card | Improve accessibility, performance, modernize actions |
template_card | Static card → ${expression} data-bound template |
transform_card | Version upgrade/downgrade, host-config adaptation |
suggest_layout | Recommend best layout pattern for a description |
generate_and_validate | Generate + validate + optionally optimize in one call |
card_workflow | Multi-step pipeline: generate → optimize → template → transform |
| Prompt | Pipeline | Slash command |
|---|---|---|
create-adaptive-card | generate → validate → optimize → host config | /adaptive-cards-mcp:create-adaptive-card |
review-adaptive-card | validate → auto-fix → before/after report | /adaptive-cards-mcp:review-adaptive-card |
convert-data-to-card | analyze data → pick presentation → validate | /adaptive-cards-mcp:convert-data-to-card |
| Resource | Description |
|---|---|
ac://schema/v1.6 | Complete JSON Schema for Adaptive Cards v1.6 |
| ac://hosts | Host compatibility matrix for all 7
Only the beginning is shown; read the rest in the repo