# Wit.ai — how to use (mcp.ai)

Connect your Wit.ai account and use 31 tools for artificial intelligence straight from your AI agent. Connect with your own API key. Wit.ai is a natural language processing platform that enables developers to build applications and devices that understand human language.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_wit_ai?ms=1787293440000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `wit_ai_add_entity_keyword`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/wit_ai`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/wit_ai/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/wit_ai/add/entity/keyword` — Tool to add a keyword with optional synonyms to a Wit.ai entity. Use when extending entity values.
  - body: { entity: string, keyword: string, synonyms?: string[] }
- `POST https://api.mcp.ai/api/wit_ai/add/keyword/synonym` — Tool to add a new synonym to a keyword in an entity. Use when expanding entity keyword recognition with additional terms.
  - body: { entity: string, keyword: string, synonym: string }
- `POST https://api.mcp.ai/api/wit_ai/add/trait/value` — Tool to add a new value to an existing trait in Wit.ai. Use when extending trait vocabulary with additional values.
  - body: { trait: string, value: string }
- `POST https://api.mcp.ai/api/wit_ai/create/app` — Tool to create a new app in Wit.ai. Use when you need to programmatically initialize an application before training or importing data.
  - body: { lang: string, name: string, private?: boolean }
- `POST https://api.mcp.ai/api/wit_ai/create/entity` — Tool to create a new entity in Wit.ai. Use when defining custom entity types for natural language understanding.
  - body: { name: string, roles: string[], lookups?: string[], keywords?: object[] }
- `POST https://api.mcp.ai/api/wit_ai/create/intent` — Tool to create a new intent in Wit.ai. Use when you need to define a new intent for natural language understanding.
  - body: { name: string }
- `POST https://api.mcp.ai/api/wit_ai/create/trait` — Tool to create a new trait in Wit.ai. Use when defining custom entity attribute matching behavior.
  - body: { name: string, values: object[], lookups?: string[], mutually_exclusive?: boolean }
- `POST https://api.mcp.ai/api/wit_ai/create/utterances` — Tool to add training utterances (samples with annotations) to your Wit.ai app. Use when you need to train your model with labeled examples. Rate limit: 200 samples per minute.
  - body: { utterances: object[] }
- `POST https://api.mcp.ai/api/wit_ai/delete/app` — Tool to delete a specific app from wit.ai. Use when you need to remove an existing app by its ID after confirming its existence.
  - body: { app_id: string, access_token?: string }
- `POST https://api.mcp.ai/api/wit_ai/delete/entity` — Tool to permanently delete an entity by name. Use when you need to remove an existing entity from the wit.ai app.
  - body: { entity: string }
- `POST https://api.mcp.ai/api/wit_ai/delete/entity/keyword` — Tool to delete a keyword from a keywords entity in wit.ai. Use when you need to remove a specific keyword from an entity.
  - body: { entity: string, keyword: string }
- `POST https://api.mcp.ai/api/wit_ai/delete/entity/role` — Tool to delete a specific role from an entity in wit.ai. Use when you need to remove a role association from an entity.
  - body: { role: string, entity: string }
- `POST https://api.mcp.ai/api/wit_ai/delete/intent` — Tool to permanently delete an intent by name. Use when you need to remove an intent from the app.
  - body: { intent: string }
- `POST https://api.mcp.ai/api/wit_ai/delete/keyword/synonym` — Tool to delete a synonym from a keyword in an entity. Use when you need to remove a specific synonym mapping from an entity keyword.
  - body: { entity: string, keyword: string, synonym: string }
- `POST https://api.mcp.ai/api/wit_ai/delete/utterances` — Tool to delete validated utterances (training samples) from your Wit.ai app. Use when you need to remove specific training data.
  - body: { utterances: object[] }
- `POST https://api.mcp.ai/api/wit_ai/detect/language` — Tool to detect the language of a given text input. Returns detected locales with confidence scores. Use when you need to identify the language of user-provided text.
  - body: { n?: integer, q: string }
- `POST https://api.mcp.ai/api/wit_ai/export/app` — Tool to export Wit.ai app data as a backup ZIP file. Returns a download URL for the backup file containing all app data.
- `POST https://api.mcp.ai/api/wit_ai/get/app` — Tool to retrieve metadata and settings of a Wit.ai app. Use when you need to fetch complete app details by app ID after authenticating.
  - body: { app_id: string, access_token?: string }
- `POST https://api.mcp.ai/api/wit_ai/get/entity` — Tool to retrieve details of a specific entity including keywords and roles. Use when you need entity metadata by ID or name.
  - body: { entity: string }
- `POST https://api.mcp.ai/api/wit_ai/get/intent` — Tool to retrieve details of a specific intent. Use when you need full intent metadata given its ID.
  - body: { intent_id: string }
- `POST https://api.mcp.ai/api/wit_ai/get/intents` — Tool to list all intents in a Wit.ai app. Use after authenticating to retrieve defined intents.
  - body: { limit?: integer, offset?: integer }
- `POST https://api.mcp.ai/api/wit_ai/get/message` — Tool to analyze a text message and extract its intent, entities, and traits. Use when you need structured meaning from user input.
  - body: { n?: integer, q: string, context?: string }
- `POST https://api.mcp.ai/api/wit_ai/get/trait` — Tool to retrieve details of a specific trait. Use when you have the trait ID and need its full metadata.
  - body: { trait_id: string }
- `POST https://api.mcp.ai/api/wit_ai/get/traits` — Tool to list all traits in a Wit.ai app. Use after authenticating to retrieve defined traits.
  - body: { v?: string }
- `POST https://api.mcp.ai/api/wit_ai/get/voice` — Tool to retrieve details for a specific text-to-speech voice. Use when you need information about available styles and parameters for a voice.
  - body: { voice: string }
- `POST https://api.mcp.ai/api/wit_ai/list/app/tags` — Tool to retrieve all tag groups (versions) for a Wit.ai app. Use when you need to list available versions or snapshots of an app's state.
  - body: { app: string }
- `POST https://api.mcp.ai/api/wit_ai/list/apps` — Tool to retrieve the list of all Wit.ai apps for the authenticated user. Use when you need to fetch apps with pagination support.
  - body: { limit: integer, offset?: integer }
- `POST https://api.mcp.ai/api/wit_ai/list/entities` — Tool to list all entities in a Wit.ai app. Use after authenticating to retrieve defined entities.
- `POST https://api.mcp.ai/api/wit_ai/list/utterances` — Tool to retrieve training utterances (samples) from a Wit.ai app. Use when you need to view or analyze the app's training data. Supports filtering by intents, entities, and traits.
  - body: { limit?: integer, offset?: integer, traits?: string[], intents?: string[], entities?: string[] }
- `POST https://api.mcp.ai/api/wit_ai/list/voices` — Tool to retrieve all available text-to-speech voices grouped by locale. Use when you need to discover which voices are available for speech synthesis.
- `POST https://api.mcp.ai/api/wit_ai/put/app` — Tool to update an existing Wit.ai app. Use when you need to modify app settings after creation.
  - body: { body: object, app_id: string, access_token?: string }

## Example prompts
- "What can I do in Wit.ai?"
- "Show me a summary of my Wit.ai account"

## More
- Page: https://mcp.ai/wit_ai
- Agent spec (llms.txt): https://mcp.ai/wit_ai/llms.txt
- Postman collection: https://mcp.ai/wit_ai/postman.json
