App MCP Overview
App MCP (Application Model Context Protocol) bridges your C3 application with external AI coding assistants. It lets you expose custom business tools and reusable prompts to agents running in your IDE.
When enabled, your application runs an MCP server that agents can connect to. The connection gives agents access to your domain-specific capabilities without leaving the development environment.
Prerequisites
The MCP pages (Tools, Prompts, Access, Monitor) are available in Studio for applications running on version 8.10 or later. The mcpServer package, included by default in 8.10 and later, provides the MCP backend and UI.
On version 8.9, the mcpServer package is not included by default. Add it as an explicit dependency in your application package definition. On 8.10 and later, the package is included automatically.
Quick start
Follow these steps to go from a fresh application to a working App MCP connection:
Confirm prerequisites. Your application depends on the
mcpServerpackage (included by default in 8.10 and later). The MCP section appears in the Studio left sidebar under MCP.Generate a token. Go to MCP > Access, select Generate Token, choose your IDE, and select Generate & Install. See MCP Access.
On 8.9, if the MCP section does not appear in Studio after adding the
mcpServerdependency, use the/mcp/jsonendpoint athttps://<cluster>/<env>/<app>/mcp/jsonto retrieve the server configuration and set up your IDE manually with aC3Bearertoken.Enable at least one tool. Open MCP > Tools, select or create a tool, and toggle Enabled for MCP. See Manage MCP Tools.
(Optional) Publish a prompt. Open MCP > Prompts to create a reusable template agents can trigger with
/. See Manage MCP Prompts.Invoke a tool from your IDE. Open your coding assistant, confirm the MCP server is connected, and ask it to run the tool.
Check the invocation. Open MCP > Monitor to verify the call succeeded and inspect arguments, results, and timing. See MCP Monitor.
Default tools
Every application that includes the mcpServer package receives a set of pre-built tools from the genaiPlatform seed data. These tools are available in 8.10.
The following tools are enabled by default and available to your coding assistant immediately after you connect:
| Tool | Description |
|---|---|
runPyCode (Python Code Runner) | Execute Python code on the C3 platform |
runJsCode (JavaScript Code Runner) | Execute JavaScript code on the C3 platform |
The following tools are seeded but disabled by default. Enable them from MCP > Tools by toggling Enabled for MCP:
| Tool | Description |
|---|---|
getC3TypeInformation (C3 Type Info Retriever) | Get type documentation by name |
getEntityTypes | List entity types defined in the package |
listTypeMetrics (App Metric Lister) | List available metrics for time series data |
runTest (Test Runner) | Run a Python or JavaScript test and return results in YAML format |
readPkgIssues (Pkg Issues Reader) | Validate types, implementations, and seed data for errors |
upsertSeedData (Seed Data Upserter) | Save seed data to the database |
entityFieldRetriever (Entity Field Retriever) | Get public fields for an entity type |
entityDataRetriever (Entity Data Retriever) | Query entity data with filters and aggregation |
entityDataModifier (Entity Data Modifier) | Create, update, and delete entity records |
Enable runTest to let your coding assistant run tests against your application directly from the IDE. This supports the iterative write-test-fix loop described in the MCP quickstart tutorial.
Capabilities
App MCP supports two types of assets:
Tools: Callable functions backed by Python implementations, C3 method integrations, or LangChain/LlamaIndex integrations. Tools can perform CRUD operations, run code, retrieve data, or trigger workflows.
Prompts: Pre-written templates with configurable arguments that agents can invoke to access specialized instructions, code generation patterns, or domain-specific guidance.
Architecture
The App MCP server exposes a /mcp HTTP endpoint through Mcp.Server, which implements the full Model Context Protocol specification. The server handles protocol negotiation, routes tool calls, and renders prompts with arguments.
The server draws on the following data objects:
| Type | Purpose |
|---|---|
| GenaiCore.Tool | Callable functions registered in your application |
| Mcp.Prompt | Templates with arguments for reuse |
App MCP page map
Access the MCP section from the left sidebar under MCP in the application. The recommended setup order is: generate a token, configure tools, create prompts, then monitor usage.
Connect your IDE
Use the Access page to generate an API token and install the MCP server in your IDE. This is the first step before tools and prompts become available.
Continue with MCP Access.
Manage tools
Use the Tools page to create tools, test them, and control per-tool MCP availability.
Continue with Manage MCP Tools.
Manage prompts
Use the Prompts page to create prompt templates, manage arguments, and control enable/publish state.
Continue with Manage MCP Prompts.
Monitor invocations
Use MCP Monitor to inspect tool and prompt invocation history, review execution details, and diagnose errors.
Continue with MCP Monitor.
Track invocations
All tool calls and prompt invocations are automatically recorded as Mcp.Invocation.Record instances. Each record captures execution timing, input arguments, results, and the invoking user. The application scrubs sensitive values before storing them.
For details, see MCP Monitor.
Integrate with other systems
- C3 genaiPlatform: Uses GenaiCore.Tool as the standard tool definition. You can expose all tools created in genaiPlatform through MCP.
- Central MCP: Runs at the platform level and provides system-wide C3 development tools. App MCP provides application-specific business tools and prompts. Agents can connect to both simultaneously.
To learn more about Central MCP, see Model Context Protocol (MCP) Overview.