DokaAI MCP Service POC
The DokaAI MCP Service POC provides a unified TypeScript service for business intelligence and customer analytics. You can:
Access business data via MCP tools and REST endpoints:
get_indian_users– fetch all Indian test users for segmentation, location, plan, and profile analysis.get_orders– retrieve all orders for revenue, category, delivery, payment, and risk analysis.get_user_orders– get orders for a specific user (e.g.,usr_001).get_user_business_profile– obtain a user's full profile including subscription, orders, invoices, payments, refunds, and health metrics.get_business_summary– aggregate business metrics and risk counts.REST API endpoints (e.g.,
/api/users,/api/orders) for HTTP integration.
Generate AI-guided reports using reusable MCP prompts for business summaries, customer segmentation, orders analysis, user orders, and customer health.
Leverage pre-computed metrics like
daysSinceLastLogin,overallCustomerHealth,failedPaymentCount, and risk signals for accurate analysis.Understand data context through
evidenceGuideanddataLimitationsfields returned with major responses.Authenticate securely using OAuth (PoC) or static bearer tokens/API keys.
Integrate with AI clients (e.g., Claude Desktop) via local stdio MCP or a Vercel-hosted HTTP MCP endpoint.
Deploy as a hosted service on Vercel with health, data, and MCP endpoints.
Deploys the MCP server as a serverless HTTP endpoint, allowing remote access to the business data tools via REST APIs and MCP protocol.
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., "@DokaAI MCP Service POCshow me the business summary"
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.
DokaAI MCP Service POC
Unified TypeScript service with:
local stdio MCP server for Codex / Claude Desktop
Vercel-ready HTTP MCP endpoint
REST APIs backed by the same in-memory business data
Phase 1 production structure for auth, routes, logging, errors, computed metrics, and evals
Setup
npm install
npm run buildRelated MCP server: blinkit-mcp
Local MCP
Run the stdio MCP server:
npm startCodex / Claude Desktop can still use:
{
"command": "node",
"args": ["/Users/ayushsrivastava0609/Doka-AI/mcp-server-poc/dist/index.js"]
}Vercel Deployment
Deploy this folder as the Vercel project root:
/Users/ayushsrivastava0609/Doka-AI/mcp-server-pocHosted endpoints:
GET /healthGET /api/usersGET /api/ordersGET /api/users/:userId/ordersGET /api/users/:userId/business-profileGET /api/business/summaryPOST /mcpGET /mcpDELETE /mcp
Authentication
For hosted connector authentication, the service exposes a POC OAuth flow:
/.well-known/oauth-protected-resource/mcp/.well-known/oauth-authorization-server/oauth/register/oauth/authorize/oauth/token
When ChatGPT or Claude connects to /mcp without a token, the server returns 401 with a WWW-Authenticate header pointing to the OAuth protected-resource metadata. The connector client can then start the OAuth flow.
Set this environment variable in Vercel:
OAUTH_SIGNING_SECRET=your-long-random-signing-secretDuring OAuth authorization, the demo page asks for:
DokaAI Username
DokaAI PasswordDefault mock login:
username: dokaai_demo_user
password: dokaai_demo_passwordOverride it in Vercel with:
MOCK_DOKAAI_USERNAME=your-demo-username
MOCK_DOKAAI_PASSWORD=your-demo-passwordFor this POC, a successful login creates a short-lived signed OAuth token. For production, replace this with a real user/session system.
You can also set this legacy static token for private API testing:
MCP_AUTH_TOKEN=your-long-random-token/health, /api/health, OAuth metadata, and OAuth endpoints stay public. Everything else requires either an OAuth bearer token or:
Authorization: Bearer your-long-random-tokenor:
x-api-key: your-long-random-tokenExample:
curl https://your-app.vercel.app/api/users \
-H "Authorization: Bearer your-long-random-token"MCP Tools
get_indian_users: Fetch all Indian test users from the backend API.get_orders: Fetch all business orders.get_user_orders: Fetch orders for one user, such asusr_001.get_user_business_profile: Fetch one user with subscription, orders, invoices, payments, refunds, computed metrics, risk signals, data limitations, and evidence guidance.get_business_summary: Fetch aggregate business metrics, risk counts, summary signals, data limitations, and evidence guidance.
The AI client can handle filtering, lookup, grouping, summaries, and cross-dataset reasoning from the returned data.
For better answer accuracy, important calculations are returned by the backend instead of being left to the model:
daysSinceLastLogin
daysSinceLastOrder
daysUntilRenewal
failedPaymentCount
overdueInvoiceCount
riskOrderCount
financialRisk
engagementRisk
renewalRisk
overallCustomerHealthEvery major MCP response also includes:
evidenceGuide
dataLimitationsPhase 1 Structure
The code is split by responsibility:
src/auth OAuth-shaped auth and token helpers
src/config runtime constants
src/http request/response utilities
src/logging structured JSON logger
src/mcp MCP tools, prompts, evidence, server setup
src/routes hosted MCP and REST route handlers
src/services mock data, business metrics, data limitations
src/vercel.ts thin deployment entrypointSee:
docs/phase-1-production.md
docs/evals.md
docs/usability.mdMCP Prompts
Prompts are reusable workflows the client can run.
business_summary_report: Guides the AI to produce a simple business report with overview, revenue snapshot, risk signals, patterns, recommended actions, and evidence used.customer_segmentation_report: Guides the AI to analyze users by location, plan, profession, support, and billing signals.orders_analysis_report: Guides the AI to analyze revenue, product categories, payments, fulfillment, sales channel, and order risks.user_orders_report: Guides the AI to analyze orders for one user. RequiresuserId.customer_health_report: Guides the AI to analyze one customer using profile, subscription, orders, invoices, payments, refunds, and metrics. RequiresuserId.
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
- Flicense-qualityCmaintenanceMCP server for booking and date-utility tools, deployed on AWS Lambda, supporting DynamoDB storage and optional WhatsApp notifications.
- AlicenseAqualityBmaintenanceAn API-only MCP server for Blinkit that enables automated shopping on the Indian quick-commerce platform, supporting login, search, cart, checkout, and payment via UPI.25MIT
- FlicenseAqualityBmaintenanceMCP server for managing store replenishment, including listing stores, raising orders, checking order status, and viewing SKU reports with observability and key rotation handling.4
- AlicenseBqualityAmaintenanceMCP server for Coolify API that enables full deployment workflows from zero to production, including project, server, and application management.651,9203MIT
Related MCP Connectors
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
MCP server for InsForge BaaS — database, storage, edge functions, and deployments
Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.
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/AyushSrivastava0609/dokaai-mcp-server-poc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server