MCP Import and Export
Import existing MCP server manifests into NeoArc Studio and export your documented servers as standard JSON. Understand the file format, directory conventions, and how NeoArc maps MCP primitives to its internal data model.
NeoArc Studio stores MCP server definitions in a structured file format that maps directly to the MCP specification. You can create servers from scratch using the visual editor, import existing server manifests, or export your documented servers for use in other tools and CI/CD pipelines.
File Structure
Each MCP server lives in a dedicated directory within your project's integration design folder. The directory name becomes the server's identifier in the file system.
integration-design/
mcp-servers/
my-server/
my-server.cf.mcp-server.json # Server definition
tools/
search-items.cf.mcp-tool.json # Tool definition
create-order.cf.mcp-tool.json
resources/
catalogue.cf.mcp-resource.json # Resource definition
policy.cf.mcp-resource.json
prompts/
greeting.cf.mcp-prompt.json # Prompt definition
Server Definition File
The server file is the root of an MCP server. It contains the server's identity, protocol version, capabilities declaration, transport configuration, and authentication settings.
{
"schemaVersion": "1.0.0",
"meta": { "generator": "NeoArc Studio", "generatorVersion": "1.0.0" },
"id": "unique-uuid",
"name": "E-Commerce AI Assistant",
"title": "E-Commerce AI Assistant MCP Server",
"version": "2.1.0",
"protocolVersion": "2025-06-18",
"capabilities": {
"tools": { "listChanged": true },
"resources": { "subscribe": true, "listChanged": true },
"prompts": { "listChanged": false },
"logging": true,
"completions": true
},
"transports": [ ... ],
"auth": { ... },
"sampling": { ... },
"llmInstructions": "<p>Instructions for the AI assistant...</p>",
"tags": ["ecommerce", "ai-assistant"]
}
Tool Definition File
Each tool is a separate file in the tools/ subdirectory. Tool definitions include annotation flags, schema references, error scenarios, and worked examples.
{
"schemaVersion": "1.0.0",
"meta": { "generator": "NeoArc Studio", "generatorVersion": "1.0.0" },
"id": "unique-uuid",
"name": "search_products",
"title": "Search Products",
"description": "<p>Search the product catalogue...</p>",
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"openWorldHint": false
},
"inputSchemaRef": "path/to/schema.cf.schema.json",
"resultContentTypes": ["text"],
"errorScenarios": [
{
"id": "err-1",
"name": "Invalid Category",
"isProtocolError": false,
"errorCode": 400,
"errorMessage": "Category not found"
}
],
"examples": [
{
"id": "ex-1",
"name": "Basic search",
"inputArguments": { "query": "laptop" },
"expectedOutput": {
"content": [{ "type": "text", "text": "Found 42 products..." }]
}
}
],
"tags": ["search", "catalogue"]
}
Resource Definition File
Resources are stored in the resources/ subdirectory. A resource can be either concrete (fixed URI) or templated (parameterised URI).
{
"schemaVersion": "1.0.0",
"meta": { "generator": "NeoArc Studio", "generatorVersion": "1.0.0" },
"id": "unique-uuid",
"name": "product-catalogue",
"title": "Product Catalogue",
"isTemplate": true,
"uriTemplate": "ecommerce://catalogue/{category}",
"templateParameters": [
{
"id": "param-1",
"name": "category",
"description": "Product category slug",
"required": true,
"completionSupported": true
}
],
"mimeType": "application/json",
"contentType": "text",
"subscribable": true,
"audience": ["user", "assistant"],
"tags": ["catalogue", "products"]
}
Prompt Definition File
Prompts are stored in the prompts/ subdirectory. Each prompt defines typed arguments, expected messages with role and content type, and worked examples.
{
"schemaVersion": "1.0.0",
"meta": { "generator": "NeoArc Studio", "generatorVersion": "1.0.0" },
"id": "unique-uuid",
"name": "customer-service-response",
"title": "Customer Service Response",
"arguments": [
{
"id": "arg-1",
"name": "customerName",
"description": "The customer's name",
"required": true,
"completionSupported": false
}
],
"expectedMessages": [
{
"id": "msg-1",
"role": "user",
"contentType": "text",
"templateText": "Respond to {customerName}'s enquiry..."
}
],
"examples": [
{
"id": "ex-1",
"name": "Standard enquiry",
"argumentValues": [
{ "name": "customerName", "value": "Alice" }
],
"expectedMessages": [
{ "role": "assistant", "content": "Hello Alice..." }
]
}
],
"tags": ["customer-service"]
}
Creating an MCP Server
In NeoArc Studio, you create MCP servers through the file explorer in the workspace.
Schema References
MCP tool input and output schemas reference shared .cf.schema.json files. This is the same schema system used by REST API endpoints and GraphQL types, enabling cross-API traceability through the Intent Graph.
Publishing
When you publish a site that includes MCP servers, NeoArc generates JavaScript data files that the viewer loads on demand.
Site Settings
Control which MCP servers are included in a published site through the site settings. Navigate to the MCP Servers tab in your site settings and toggle each server on or off.
This allows you to maintain multiple MCP server definitions in your project while only publishing a subset to each site. For example, you might include production servers in your public documentation site while keeping internal development servers unpublished.
Content Block Links
You can link to MCP entities from any content page using dedicated content block types.
These blocks render as clickable badges in the published viewer. Clicking a badge navigates to the corresponding MCP entity detail view, just like clicking an item in the sidebar panel.
Related Guides
Understand the Model Context Protocol and how NeoArc Studio documents MCP servers. Learn about the three primitives (tools, resources, prompts), transport modes, authentication, and how MCP fits into your architecture documentation workflow.
Configure MCP server connectivity: stdio for local processes and streamable HTTP for remote services. Set up OAuth 2.1 with PKCE and dynamic registration, API key authentication, bearer tokens, and environment variable credentials.