Glossary
Quick reference for key terms used throughout MXCP documentation.
Core Concepts
Section titled “Core Concepts”MCP (Model Context Protocol)
Section titled “MCP (Model Context Protocol)”An open standard that enables AI assistants to interact with external tools and data. MXCP implements and extends this protocol. See Introduction.
Endpoint
Section titled “Endpoint”A function or data source exposed to AI clients. MXCP supports three types: tools, resources, and prompts. See Endpoints.
An endpoint that performs actions. Tools have parameters (inputs) and return values (outputs). AI can call tools to query data, perform calculations, or execute operations.
tool: name: get_user description: Retrieve user by IDResource
Section titled “Resource”A data source with a URI pattern. Resources are read-only and identified by URIs like users://{id}.
resource: uri: users://{id} description: User profile dataPrompt
Section titled “Prompt”A reusable message template with Jinja2 templating. Prompts help standardize AI interactions.
prompt: name: analyze_data template: "Analyze this data: {{ data }}"Endpoint Metadata
Section titled “Endpoint Metadata”Annotations
Section titled “Annotations”Behavioral hints that help AI models use endpoints safely. Defined in endpoint YAML files.
annotations: readOnlyHint: true # Endpoint doesn't modify data idempotentHint: true # Safe to retry openWorldHint: false # Results are completeLabels for categorizing and discovering endpoints. Useful for organizing large projects.
tags: - analytics - reportingExamples
Section titled “Examples”Sample values that help AI models understand how to use parameters correctly.
parameters: - name: region type: string description: Sales region examples: ["North", "South", "East", "West"]Security Terms
Section titled “Security Terms”CEL (Common Expression Language)
Section titled “CEL (Common Expression Language)”A simple expression language used for writing policy conditions. CEL expressions evaluate to true or false. See Policies.
# CEL expression examplescondition: "user.role == 'admin'"condition: "'read' in user.permissions"condition: "user.email.endsWith('@company.com')"Policy
Section titled “Policy”A rule that controls access to endpoints. Policies use CEL expressions and are evaluated before (input) or after (output) execution.
Input Policy
Section titled “Input Policy”A policy evaluated before endpoint execution. Can deny requests based on user context or parameters.
Available action: deny
Output Policy
Section titled “Output Policy”A policy evaluated after endpoint execution. Can deny, filter, or mask fields in responses.
Available actions: deny, filter_fields, filter_sensitive_fields, mask_fields
Policy Actions
Section titled “Policy Actions”Input policy actions:
deny- Block the request
Output policy actions:
deny- Block the responsefilter_fields- Remove specific fields from responsefilter_sensitive_fields- Remove fields marked withsensitive: truemask_fields- Replace field values with"****"
Sensitive Field
Section titled “Sensitive Field”A return type field marked as containing sensitive data. Used with filter_sensitive_fields policy action.
return: type: object properties: name: type: string ssn: type: string sensitive: true # Will be filtered by filter_sensitive_fieldsUser Context
Section titled “User Context”Information about the authenticated user, available in policies and SQL. See Authentication.
user.role- User’s roleuser.permissions- Array of permissionsuser.email- User’s emailuser.id- User identifier
Configuration Terms
Section titled “Configuration Terms”Site Configuration (mxcp-site.yml)
Section titled “Site Configuration (mxcp-site.yml)”Project-specific settings stored in your repository. Defines project name, profiles, extensions, and audit settings. See Configuration.
User Configuration (~/.mxcp/config.yml)
Section titled “User Configuration (~/.mxcp/config.yml)”User-specific settings stored outside the repository. Contains secrets, OAuth credentials, and per-project configurations.
Profile
Section titled “Profile”A named configuration set for different environments (development, staging, production). Select with --profile flag.
Secret
Section titled “Secret”Sensitive configuration values like API keys and passwords. Stored in user configuration or secret managers (Vault, 1Password), never in version control. See Configuration.
Data Terms
Section titled “Data Terms”DuckDB
Section titled “DuckDB”The analytical SQL database engine that MXCP uses for SQL endpoints. Supports PostgreSQL syntax with analytical extensions. See DuckDB Integration.
dbt (data build tool)
Section titled “dbt (data build tool)”A transformation framework that MXCP integrates with. Run dbt to create tables and views that endpoints can query. See dbt Integration.
Parameter Binding
Section titled “Parameter Binding”How endpoint parameters are passed to SQL queries. Use $parameter_name syntax:
SELECT * FROM users WHERE id = $user_idReturn Type
Section titled “Return Type”The schema that defines what an endpoint outputs. MXCP validates responses against this schema. See Type System.
Quality Terms
Section titled “Quality Terms”Validation
Section titled “Validation”Checking that endpoints are correctly defined (YAML syntax, required fields, type schemas). Run with mxcp validate. See Validation.
Testing
Section titled “Testing”Running assertions against endpoint outputs. Tests are defined in endpoint YAML files. Run with mxcp test. See Testing.
Test Assertion
Section titled “Test Assertion”A condition that verifies endpoint behavior. Common assertions:
result- Exact match (useresult: nullto check for null)result_contains- Partial object matchresult_not_contains- List of fields that must NOT existresult_contains_item- Array contains matching itemresult_contains_all- Array contains all specified itemsresult_length- Array has exact item countresult_contains_text- String contains substring
Linting
Section titled “Linting”Checking metadata quality for better AI comprehension (descriptions, examples, annotations). Run with mxcp lint. See Linting.
Evals (Evaluations)
Section titled “Evals (Evaluations)”Testing how AI models interact with your endpoints. Ensures AI uses tools correctly and safely. See Evals.
Drift Detection
Section titled “Drift Detection”Monitoring for changes in endpoint schemas between environments. Helps catch unintended changes. Run with mxcp drift-snapshot and mxcp drift-check.
Operations Terms
Section titled “Operations Terms”Transport
Section titled “Transport”How MXCP communicates with clients:
stdio- Standard input/output (default, for Claude Desktop)streamable-http- HTTP with streaming supportsse- Server-sent events
See CLI Reference.
Audit Logging
Section titled “Audit Logging”Recording every endpoint execution for compliance and debugging. Can be stored as JSONL files or in a database. See Auditing.
Hot Reload
Section titled “Hot Reload”Updating configuration without restarting the server. Triggered by SIGHUP signal or via Admin Socket.
Admin Socket
Section titled “Admin Socket”A Unix socket for server management (health checks, status, configuration reloads). See Admin Socket.
Runtime Terms
Section titled “Runtime Terms”Runtime API
Section titled “Runtime API”Python functions available in Python endpoints. See Python Reference.
db- Database accessconfig- Configuration accessplugins- Plugin access
Lifecycle Hooks
Section titled “Lifecycle Hooks”Decorators for functions called at server lifecycle events:
@on_init- Called once when server starts@on_shutdown- Called when server stops
reload_duckdb()
Section titled “reload_duckdb()”Function to request an asynchronous system reload. The reload sequence:
- Drains active requests (waits for completion)
- Shuts down runtime components (Python + DuckDB)
- Runs your optional payload function (if provided)
- Restarts runtime components
When to use: Only use reload_duckdb() when external tools need exclusive access to the database file (e.g., replacing the file). For normal database operations, use the db proxy directly.
See Python Reference.
UDF (User Defined Function)
Section titled “UDF (User Defined Function)”A custom SQL function implemented in Python via plugins. See Plugins.
File Types
Section titled “File Types”| Extension | Purpose |
|---|---|
.yml | Endpoint definitions, configuration |
.sql | SQL implementations |
.py | Python implementations |
.jsonl | Audit logs (JSON Lines format) |
.json | Drift snapshots |
Common Abbreviations
Section titled “Common Abbreviations”| Abbreviation | Meaning |
|---|---|
| CEL | Common Expression Language |
| dbt | data build tool |
| JSONL | JSON Lines (newline-delimited JSON) |
| MCP | Model Context Protocol |
| MXCP | MCP eXtension Platform |
| OAuth | Open Authorization |
| OTEL | OpenTelemetry |
| PII | Personally Identifiable Information |
| SSE | Server-Sent Events |
| UDF | User Defined Function |
Next Steps
Section titled “Next Steps”- Introduction - Full MXCP overview
- Quickstart - Start building
- Concepts - Deep dive into concepts