# CoreModels MCP server

CoreModels schema editor: nodes, mixins, relations, JSON Schema import/export. Sign-in required.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-aramai-schematica-coremodels
- Website: https://www.aramai.net/products/coremodels

## Install
- Endpoint: https://go.coremodels.io/mcp-admin
- Auth: Auth required by registry metadata

## Setup notes
- Remote header: Authorization (required; secret)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://go.coremodels.io/mcp-admin
- Header: Authorization

## Tools
- bulk_create - Create multiple nodes, relations, and mixin values in one atomic operation.

When to use:
- Creating more than one node.
- Any creation that includes relations and/or mixins.
- For a single node with no relations/mixins, prefer create_node.

Required ids come from:
- get_mixins_and_relation_groups: relationGroupId, mixinId, and each mixin column id.
- get_project_summary or search_nodes (nodeType=Space): spaceIds, plus any existing nodeIds you want to reference.

Relation endpoints (fromNodeId / toNodeId) may be either:
- ids of nodes created elsewhere in this same payload, or
- ids of nodes already in the project.

Limitations:
- Cannot create AttributeMixin. Use create_mixin_value for those. Endpoint: https://go.coremodels.io/mcp-admin
- create_mixin_type - Create a new mixin type. Check existing mixins first with get_mixins_and_relation_groups to avoid duplicates. Mixins are reusable property sets applicable to any node. Endpoint: https://go.coremodels.io/mcp-admin
- export_jsonschema - Export project data as a JSON Schema string. Endpoint: https://go.coremodels.io/mcp-admin
- get_mixins_and_relation_groups - Get the project schema: all mixin definitions and all relation-group definitions.

Use this once at the start of a session to discover the IDs needed by other tools (mixinId, columnId, relationGroupId). Returns compact positional arrays - see the "format" field for the layout. Endpoint: https://go.coremodels.io/mcp-admin
- get_project_summary - Labels and IDs of types, elements, and taxonomies in the project. A category is omitted when it has more than 1000 nodes - use search_nodes with the matching nodeType filter to enumerate it. Endpoint: https://go.coremodels.io/mcp-admin
- import_jsonschema - Imports a JSON Schema into a space Endpoint: https://go.coremodels.io/mcp-admin
- create_mixin_value - Create a mixin value for a node. mixinId and column ids come from get_mixins_and_relation_groups. A node can have multiple mixins; each mixin can have multiple columns. Endpoint: https://go.coremodels.io/mcp-admin
- remove_mixin_value - Remove one or more mixin column values from a node. mixinId and column ids come from get_mixins_and_relation_groups. This does not delete the mixin definition itself. Endpoint: https://go.coremodels.io/mcp-admin
- create_node - Create a new node. Empty/omitted spaceIds = default space; MUST be empty when nodeType is 'Space'. Endpoint: https://go.coremodels.io/mcp-admin
- update_node - Update an existing node's label and/or its space assignments. Omitted fields are unchanged. spaceIds replaces (not merges) existing assignments; empty array = default space. At least one of label or spaceIds must be provided. Endpoint: https://go.coremodels.io/mcp-admin
- remove_node - Suspend a node. Endpoint: https://go.coremodels.io/mcp-admin
- create_relation - Create a directed relation fromNodeId → toNodeId. relationGroupId is the relation template; list templates with get_mixins_and_relation_groups. Endpoint: https://go.coremodels.io/mcp-admin
- remove_relation - Remove a relation between two nodes. Endpoint: https://go.coremodels.io/mcp-admin
- search_nodes - Search nodes in a CoreModels project. Returns compact positional arrays; the response "format" field describes the layout.

Filters (provide at least one; they combine with AND):
- nodeIds: exact id lookup
- nodeType: one of Element, Type, Taxonomy, Exemplar, Component, Space, Tag, Mixin
- expression: partial substring match on the node label (plain text, no wildcards)
- spaceIds: restrict to specific spaces

Optional flags: includeRelations, includeMixins, sortAttr, sortDesc, pageSize.

Pagination:
- First call: omit pagingToken.
- If the response has a pagingToken, more pages exist. Repeat the same call with that exact token to get the next page.
- If the response has no pagingToken, this was the last page. Endpoint: https://go.coremodels.io/mcp-admin

## Resources
Not captured

## Prompts
Not captured

## Metadata
- Owner: io.github.aramai-schematica
- Version: 1.0.0
- Runtime: Streamable Http
- Transports: HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 20, 2026
- Source: https://registry.modelcontextprotocol.io
