Sales Insights MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Sales Insights MCPShow me the daily sales trend for the last 90 days"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Sales Insights MCP (POC)
A proof-of-concept MCP server for an internal presentation: a marketing/sales user asks their AI assistant a natural-language question about daily sales, and gets back an interactive chart rendered inline in the chat, via the MCP Apps extension (SEP-1865) — with a clean markdown fallback for hosts that don't support MCP Apps.
For component breakdown, request flow diagrams, configuration reference, and a roadmap to a real enterprise deployment (auth, real data, governance), see ARCHITECTURE.md.
All data is mocked (deterministic, generated at server start). There is no real API, database, or auth — this is a demo, not a product.
Tools
Tool | Natural-language example | Widget |
| "How did sales trend this month?" | Line chart, 7/30/90-day + region filters |
| "Break down sales by region" | Bar chart, revenue/orders + channel split toggle |
| "What are our top 5 products?" | Ranked bar chart, top 5/10 |
| "Who are the top performing reps?" | Ranked bar chart, top 5/10 |
Every tool returns both: a markdown summary/table in content (what any
MCP host shows) and an interactive widget via _meta.ui.resourceUri (what a
host with MCP Apps support renders instead). Widgets are fully interactive —
their filter controls call back into the server (app.callServerTool) for
fresh data without leaving the chat.
Related MCP server: Sales Dashboard
Project layout
server/
mockData.ts deterministic mock dataset + per-tool aggregation
format.ts markdown fallback formatters
server.ts registers the 4 tools + their ui:// resources
main.ts entry point (stdio or Streamable HTTP)
ui/
shared/ theme, chart components (SVG bar/line), hooks
apps/*/ one React entry per widget
*.html vite entry points, bundled to a single self-contained HTML fileSetup
npm install
npm run build # bundles the 4 widgets into dist/ui/*.htmlRunning
npm run serve # Streamable HTTP on http://localhost:3001/mcp
npm run serve:stdio # stdio transportTesting with Claude Desktop (stdio, no tunnel needed)
Add to your Claude Desktop MCP config:
{
"mcpServers": {
"sales-insights": {
"command": "npx",
"args": ["tsx", "server/main.ts", "--stdio"],
"cwd": "D:\\Projects\\IDEA-PROJECTS\\income-mcp"
}
}
}Restart Claude Desktop, then ask e.g. "show me the daily sales trend for the last 90 days" or "who's leading the sales leaderboard".
Testing with the ext-apps basic-host (fastest iteration loop)
git clone https://github.com/modelcontextprotocol/ext-apps.git
cd ext-apps/examples/basic-host
npm install
SERVERS='["http://localhost:3001/mcp"]' npm startThen open http://localhost:8080 (with npm run serve running in this repo).
Testing with Claude (web) / ChatGPT / Copilot (remote HTTP connector)
These hosts need a reachable HTTPS URL. For local development, tunnel the Streamable HTTP server:
npm run serve
npx cloudflared tunnel --url http://localhost:3001Add the resulting URL (https://<random>.trycloudflare.com/mcp) as a custom
connector in the host. Claude Desktop/web and VS Code Copilot currently render
MCP Apps widgets; hosts without MCP Apps support (or where the feature isn't
enabled) will fall back to the markdown table/summary automatically — that's
the graceful-degradation path this POC is built to demonstrate.
AI Assistant (chat UI, port 3002)
A second, separate piece of this repo: a standalone chat UI that talks to an
LLM, calls tools on any number of MCP servers (this one included), and
renders their widgets inline — with a pluggable LLM backend (Anthropic,
Gemini, AWS Bedrock, or a local Ollama model, switchable via one env var) and
support for adding arbitrary MCP servers at runtime. Independent of
everything above — runs on its own port, doesn't require npm run serve.
npm run build && npm run assistant # http://127.0.0.1:3002Full setup reference — switching providers, running a model locally with Docker to sidestep API rate limits, adding MCP servers, tunneling, troubleshooting — is in ASSISTANT.md.
Notes for the presentation
Cross-host compatibility is aspirational, not guaranteed — MCP Apps (SEP-1865) shipped as an official MCP extension in January 2026 and client support is still rolling out unevenly. Claude Desktop currently has the most mature support; treat the other hosts as "same server, same tools, same fallback text" even if the interactive widget doesn't render there yet.
All four tools are interactive widgets (per POC scope), but the fallback text is what proves the server works everywhere regardless of UI support.
The mock dataset is seeded, so numbers are stable across runs/demos.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceEnables users to manage CRM leads, opportunities, projects, tasks, and sales records within ERPNext directly through MCP-compatible clients. It supports global searches, timesheet entries, and access to dashboard KPIs using natural language.
- AlicenseNot gradedqualityBmaintenanceEnables interactive sales data exploration within Claude through a dynamic dashboard with filterable charts and tables.MIT
- FlicenseNot gradedqualityBmaintenanceEnables natural language sales analysis by connecting to a SQLite database, generating charts, and exporting results to CSV/Excel.
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to query and analyze Salesforce pipeline data, including pipeline health, deal details, and risk alerts, through natural language.10MIT
Related MCP Connectors
Ask your app anything — revenue, errors, read-cost, growth — and get rendered charts back.
Renders interactive Chart.js charts and dashboards inline in AI conversations.
Query metrics, targets, entities, and team data in your Steep workspace via MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/amilasilva7/ai-assistant-with-mcp-apps-support'
If you have feedback or need assistance with the MCP directory API, please join our Discord server