14. Annexes
14.1. Glossary
|
Term
|
Definition
|
|---|---|
|
MCP
|
Protocol used by an AI client to discover and call capabilities exposed by an MCP-compatible server.
|
|
Hopex context
|
Technical context of an MCP call, including authentication, GraphQL schema, and rights.
|
|
Hopex user context
|
User, repository, and connection profile associated with an MCP call.
|
|
Hopex MCP Server
|
HAS module that exposes Hopex capabilities to an AI client through the server MCP implementation.
|
|
AI client
|
Application or platform that connects to the MCP Server, discovers tools, manages authentication and headers, and presents responses to the user. It may use an LLM to select tools and formulate answers.
|
|
HAS
|
Hopex Application Server. It exposes the MCP endpoint, provides the runtime framework, and applies common security and supervision mechanisms.
|
|
GraphQL schema
|
GraphQL schema used by the MCP Server to expose the scope available to AI clients.
|
|
Customized metamodel
|
Customer-specific extension of the Hopex metamodel exposed through a GraphQL schema when required by AI usage scenarios.
|
|
Metaclass
|
Type of object in the Hopex metamodel. When exposed to AI clients, custom metaclasses should have clear labels and descriptions.
|
|
Meta-association
|
Relationship definition between metaclasses in the Hopex metamodel. Custom meta-associations should explain the business relationship they represent.
|
|
Meta-attribute
|
Property definition attached to a metaclass in the Hopex metamodel. Custom meta-attributes should be named and described so the LLM can select them correctly in GraphQL queries.
|
|
MCP tool
|
Technical capability exposed by the MCP Server and usable by the AI client.
|
|
MCP resource
|
Reference content exposed by the MCP Server, such as a schema guide or a list of diagram natures.
|
14.2. Error response examples
|
Case
|
Code / message
|
AI client handling
|
|---|---|---|
|
Mutation disabled
|
OPERATION_NOT_ALLOWED
Mutations are disabled on this server.
|
Inform the user that the server is in read-only mode.
|
|
Read operation sent to Execute_Mutation
|
INVALID_QUERY
Only 'mutation' operations are accepted.
Use Execute_Query for read operations.
|
Rephrase and use the read tool when the context allows it.
|
|
Write operation sent to Execute_Query
|
INVALID_QUERY
Only 'query' operations are accepted.
Use Execute_Mutation for write operations.
|
Rephrase and use the mutation tool when the context allows it.
|
|
Irreversible deletion
|
confirmationRequired with the list of detected operations.
|
Ask for explicit confirmation before running the mutation again.
|
14.3. Hopex rights and profiles matrix
The rights matrix depends on the customer environment, Hopex profiles, and exposed GraphQL schema. It identifies the objects, relationships, and operations available through the MCP Server for a given profile.
• Target Hopex repository
• Connection profile used
• Exposed GraphQL schema
• Accessible objects and relationships
• Available read tools
• Authorized or non-authorized mutations
• Restrictions and customized metamodel exposure specific to the customer environment, as described in section 5.2 Customized metamodel exposure.
14.4. Security and network exposure checklist
14.5. AI client configuration examples
These examples are indicative. Exact syntax, callback URLs, header declaration, and secret storage vary by AI client and should be checked in the client documentation.
14.5.1. OAuth/DCR examples
The AI client declares the remote MCP Server URL and uses OAuth 2.0 with Dynamic Client Registration when supported. Exact fields depend on the AI client.
Claude example — OAuth/DCR declaration
{
"connector": "Hopex MCP",
"server_url": "https://<hopex-host>/mcp",
"authentication": {
"type": "oauth_dcr"
}
}
{
"connector": "Hopex MCP",
"server_url": "https://<hopex-host>/mcp",
"authentication": {
"type": "oauth_dcr"
}
}
This example uses a compact JSON-style declaration for an AI client that supports OAuth/DCR as part of its MCP connector configuration.
Copilot Studio example — MCP wizard
Server name: Hopex MCP
Server description: Hopex MCP Server for architecture repository access
Server URL: https://<hopex-host>/mcp
Authentication type: OAuth 2.0
OAuth mode: Dynamic Client Registration
Server name: Hopex MCP
Server description: Hopex MCP Server for architecture repository access
Server URL: https://<hopex-host>/mcp
Authentication type: OAuth 2.0
OAuth mode: Dynamic Client Registration
This example represents a form-based configuration where the AI client collects the MCP Server URL and OAuth/DCR settings through a connector wizard.
The next example uses a custom MCP connector declaration with OAuth Dynamic Client Registration enabled by the AI client.
Mistral Work example — custom MCP connector
{
"name": "Hopex MCP",
"server_url": "https://<hopex-host>/mcp",
"authentication": {
"type": "oauth_dynamic_client_registration"
}
}
{
"name": "Hopex MCP",
"server_url": "https://<hopex-host>/mcp",
"authentication": {
"type": "oauth_dynamic_client_registration"
}
}
14.5.2. Header-based examples
Claude example: the configuration declares the server HTTPS URL, HTTP transport, and headers. Secrets, such as the API key, are referenced through a secure mechanism provided by the AI client.
Claude JSON example — MCP headers
{
"mcpServers": {
"hopex-mcp": {
"type": "http",
"url": "https://<hopex-host>/mcp",
"headers": {
"x-api-key": "${Hopex_MCP_API_KEY}",
"x-schema": "EA_Core",
"x-allow-mutation": "true"
}
}
}
}
{
"mcpServers": {
"hopex-mcp": {
"type": "http",
"url": "https://<hopex-host>/mcp",
"headers": {
"x-api-key": "${Hopex_MCP_API_KEY}",
"x-schema": "EA_Core",
"x-allow-mutation": "true"
}
}
}
}
The next examples use header-based configuration, typically for API key mode, schema selection, and mutation authorization in API key scenarios.
Copilot Studio example: headers are declared in the OpenAPI definition of the custom connector. x-api-key can be defined as an API key authentication scheme, while x-schema and x-allow-mutation can be declared as header parameters.
Copilot Studio OpenAPI example — MCP headers
components:
securitySchemes:
HopexMcpApiKey:
type: apiKey
in: header
name: x-api-key
parameters:
- name: x-schema
in: header
required: false
schema:
type: string
- name: x-allow-mutation
in: header
required: false
schema:
type: boolean
security:
- HopexMcpApiKey: []
components:
securitySchemes:
HopexMcpApiKey:
type: apiKey
in: header
name: x-api-key
parameters:
- name: x-schema
in: header
required: false
schema:
type: string
- name: x-allow-mutation
in: header
required: false
schema:
type: boolean
security:
- HopexMcpApiKey: []
This example shows the same header-based approach for a custom MCP connector when the AI client supports custom HTTP headers.
Mistral Work example: the Hopex MCP Server is added as a custom MCP connector with its HTTPS URL. When the connector supports custom headers, MCP headers can be declared in the connector configuration. Otherwise, the server uses the default values configured in HAS.
Mistral Work JSON example — MCP headers
{
"name": "Hopex MCP",
"server_url": "https://<hopex-host>/mcp",
"headers": {
"x-api-key": "${Hopex_MCP_API_KEY}",
"x-schema": "EA_Core",
"x-allow-mutation": "true"
}
}
{
"name": "Hopex MCP",
"server_url": "https://<hopex-host>/mcp",
"headers": {
"x-api-key": "${Hopex_MCP_API_KEY}",
"x-schema": "EA_Core",
"x-allow-mutation": "true"
}
}
14.6. SaaS and on-premises deployment checklist
Use this checklist as the final deployment control.
Detailed principles are described in section 3.5 SaaS and on-premises considerations and deployment implications are described in section 5.5 SaaS and on-premises deployment.