Documentation / MCP Setup

MCP Documentation

Syntaxia Anchor MCP Server

Connect AI agents to your Syntaxia Anchor workspace using the Model Context Protocol. The MCP server exposes tools, prompts, and resources that let agents read and write ontologies, model domains, and manage accounts.

Streamable HTTP

/mcp

stdio

bin/mcp-stdio

What is MCP?

The Model Context Protocol (MCP) is an open standard for connecting AI agents to external data sources and tools. Instead of calling REST endpoints directly, an MCP client (like Claude Desktop or Cursor) discovers available tools from the server and invokes them on behalf of the user.

What you get

The MCP server provides three types of capabilities to connected agents:

Tools

12

Actions agents can take -- CRUD ontologies, search, visualize

Prompts

3

Knowledge packages agents load on demand for domain expertise

Resources

2

Static reference documents agents can read at any time

Available tools

The server exposes 12 tools across five groups:

read_profile list_accounts list_ontologies search_ontologies read_ontology create_ontology update_ontology delete_ontology list_commits read_commit visualize_ontology guide_orm_creation

Authentication

The MCP server supports two authentication methods. HTTP clients use OAuth for automatic setup. The stdio transport uses a Bearer API token.

Recommended

OAuth (HTTP clients)

For HTTP-based clients like Claude Code, Claude Desktop, Cursor, and VS Code, OAuth handles authentication automatically. Just run the one-liner command or add the server URL and the client will walk you through sign-in and consent.

OAuth discovery happens automatically. The client reads the server metadata at /.well-known/oauth-authorization-server and handles the full authorization flow.

Fallback

Bearer Token (stdio clients)

For stdio-based setups where the MCP server runs as a local subprocess, use a Bearer API token passed via environment variable.

  1. 1. Sign in to Syntaxia Anchor and go to Settings.
  2. 2. Open the API Tokens tab and create a new token.
  3. 3. Copy the token. You will use it in the stdio configuration below.

Treat your API token like a password. Do not commit it to version control or share it publicly.

Streamable HTTP

Streamable HTTP is the recommended transport. The server accepts HTTP POST requests at /mcp and handles OAuth authentication automatically. No manual token configuration required.

CLI Claude Code

Run this one-liner in your terminal. Claude Code will open a browser for OAuth sign-in automatically.

Terminal
claude mcp add --transport http syntaxia https://anchor.syntaxia.com/mcp

After running this command, Claude Code will discover the OAuth metadata and open your browser for sign-in. No API token needed.

Desktop Claude Desktop

Add this to your Claude Desktop configuration file. OAuth sign-in will happen automatically on first use.

claude_desktop_config.json
{
  "mcpServers": {
    "syntaxia-anchor": {
      "type": "streamable-http",
      "url": "https://anchor.syntaxia.com/mcp"
    }
  }
}

No Authorization header needed. Claude Desktop discovers OAuth metadata and handles sign-in automatically.

Editor Cursor

Add this to your Cursor MCP settings. OAuth sign-in will happen automatically on first use.

.cursor/mcp.json
{
  "mcpServers": {
    "syntaxia-anchor": {
      "type": "streamable-http",
      "url": "https://anchor.syntaxia.com/mcp"
    }
  }
}

No API token needed. Cursor discovers OAuth metadata and handles sign-in after you save the configuration and restart.

Editor VS Code

Add this to your VS Code MCP settings. OAuth sign-in will happen automatically on first use.

.vscode/mcp.json
{
  "mcpServers": {
    "syntaxia-anchor": {
      "type": "streamable-http",
      "url": "https://anchor.syntaxia.com/mcp"
    }
  }
}

No API token needed. VS Code discovers OAuth metadata and handles sign-in automatically.

stdio

The stdio transport runs the MCP server as a local subprocess. The client communicates over standard input/output. This is the transport used by CLI-based MCP clients.

CLI Claude Code

Add this to your Claude Code MCP configuration.

.claude/mcp.json
{
  "mcpServers": {
    "syntaxia-anchor": {
      "type": "stdio",
      "command": "bin/mcp-stdio",
      "env": {
        "SYNTAXIA_API_TOKEN": "YOUR_API_TOKEN",
        "SYNTAXIA_BASE_URL": "https://anchor.syntaxia.com"
      }
    }
  }
}

The bin/mcp-stdio script must be executable. Run chmod +x bin/mcp-stdio if needed.

Tool Reference

Complete reference for all 12 tools exposed by the MCP server. Each tool includes its parameters, types, and whether they are required.

User & Account

read read_profile

Returns the authenticated user’s profile information.

This tool takes no parameters.

Example response
{
  "name": "Ada Lovelace",
  "email": "ada@example.com",
  "time_zone": "Eastern Time (US & Canada)",
  "created_at": "2025-01-15T10:00:00Z"
}
read list_accounts

Lists accounts the authenticated user belongs to with their roles.

This tool takes no parameters.

Example response
[
  {
    "id": "01933abc-0001-7000-a000-000000000001",
    "name": "Main Workspace",
    "personal": false,
    "roles": ["admin"]
  }
]

Ontology Read

read list_ontologies

Lists ontologies visible to the authenticated user with pagination.

Parameter Type Required Description
limit integer no Number of results to return (1-100, default 20)
offset integer no Number of results to skip (default 0)
read search_ontologies

Searches ontologies by title or description.

Parameter Type Required Description
query string yes Search term to match against title or description
limit integer no Number of results to return (1-100, default 20)
offset integer no Number of results to skip (default 0)
read read_ontology

Returns full details of a specific ontology including its source.

Parameter Type Required Description
id string yes The ontology ID

Ontology Write

write create_ontology

Creates a new ontology in the specified account with an initial commit.

Parameter Type Required Description
account_id string yes The account ID to create the ontology in
title string yes The ontology title
source string yes The ontology source content
source_format string yes The source format (yaml, owl, rdf, turtle, other, orm)
description string no Optional description
visibility string no is_public (default) or is_private
version string no Semantic version (default 1.0.0)
commit_message string no Commit message (default ‘Initial commit’)
write update_ontology

Updates an ontology’s source and/or metadata, creating a new commit.

Parameter Type Required Description
id string yes The ontology ID
account_id string yes The account ID the ontology belongs to
source string yes The updated source content
commit_message string yes Commit message describing the change
source_format string no Source format (keeps current if omitted)
version string no Semantic version (auto-bumps patch if omitted)
title string no Updated title
description string no Updated description
visibility string no Updated visibility: is_public or is_private
write delete_ontology

Deletes an ontology and all its commits.

Parameter Type Required Description
id string yes The ontology ID
account_id string yes The account ID the ontology belongs to

This action cannot be undone. All commits associated with this ontology will also be deleted.

Commits

read list_commits

Lists commits for a specific ontology with pagination.

Parameter Type Required Description
ontology_id string yes The ontology ID
limit integer no Number of results to return (1-100, default 20)
offset integer no Number of results to skip (default 0)
read read_commit

Returns full details of a specific commit including its source.

Parameter Type Required Description
id string yes The commit ID

Visualization & ORM

read visualize_ontology

Renders an ORM ontology as a PNG diagram using headless Chrome. Returns the image for the agent to inspect.

Parameter Type Required Description
id string yes The ontology ID (must be ORM format)
read guide_orm_creation

Returns ORM methodology guidance and an XML template for creating ORM ontologies from natural language domain descriptions.

Parameter Type Required Description
domain_description string yes A natural-language description of the domain to model

Prompts

Prompts are knowledge packages your agent can load on demand. Unlike tools (which perform actions), prompts teach the agent how to think about a domain. They are not called automatically -- you or your agent must explicitly request them.

How to use prompts

How you access prompts depends on your MCP client:

Claude Code Ask the agent to load a prompt by name, or use the /prompts command to browse available prompts.
Claude Desktop Click the attachment icon in the chat input to browse and select prompts. Fill in any required arguments.
Programmatic Use prompts/list to discover available prompts and prompts/get to retrieve a specific prompt's content.
prompt domain_model

Reference guide for Anchor's ontology data model -- formats, versioning, commits, ownership, visibility, and validation rules.

This tool takes no parameters.

When to use

The agent needs to understand how Anchor's entities relate to each other before making create or update calls.

Covers

  • - Source formats (YAML, OWL, RDF, Turtle, ORM) and their validation rules
  • - Semver versioning and automatic version bumping
  • - Commit model -- how changes are tracked with immutable snapshots
  • - Account ownership and visibility (public vs private)
  • - Parent/child ontology nesting
prompt tool_patterns

Complete reference for all 12 tools -- parameters, return shapes, sequencing rules, and error recovery patterns.

This tool takes no parameters.

When to use

The agent is chaining multiple tool calls and needs to know the correct order of operations, or it hit an error and needs to recover.

Covers

  • - Parameters and return shapes for every tool
  • - Sequencing rules (e.g., always call list_accounts before create_ontology)
  • - Error recovery patterns for common failures
  • - Tool grouping and recommended workflows
prompt orm_workflow

ORM (Object-Role Modeling) methodology expertise. Turns a general-purpose agent into a domain modeling expert that can produce valid ORM2 XML.

Parameter Type Required Description
domain_description string yes A natural-language description of the domain to model (e.g. 'A university where students enroll in courses taught by professors')

When to use

You ask the agent to model a domain as an ORM ontology from a natural language description.

Covers

  • - Core ORM concepts -- entity types, value types, fact types, readings
  • - Constraint modeling -- uniqueness, mandatory, subset, exclusion, frequency, ring
  • - Subtypes and specialization
  • - Step-by-step modeling workflow from domain analysis to ORM2 XML
  • - ORM2 XML template with namespace and ID conventions
  • - Validation checklist for correctness, completeness, and XML validity

Example

"A veterinary clinic where vets treat animals owned by clients, with appointments and medical records"

Resources

Resources are static reference documents the agent can read at any time via their URI. They provide the same knowledge as prompts but through a different MCP mechanism.

resource syntaxia://domain-model

Reference guide for Anchor's ontology domain model, including source formats, versioning, commits, ownership, and validation rules.

Same content as the domain_model prompt. Available for agents to read at any time without an explicit prompt request.

resource syntaxia://tool-guide

Complete reference for all MCP tools, their parameters, sequencing rules, and error recovery patterns.

Same content as the tool_patterns prompt. Available for agents to read at any time without an explicit prompt request.

Resources vs prompts

Resources and prompts overlap intentionally. They expose the same knowledge through two different MCP mechanisms. Prompts are explicitly requested and can accept arguments. Resources are always available for the agent to read on its own. Which one gets used depends on what your MCP client supports.