io.github.qg-aramai/coremodels
Official10 toolsSchema modeling in JSON, JSON-LD, and other formats with CoreModels platform.
Enables schema modeling in JSON, JSON-LD, and other formats.
Captured live from the server via tools/list.
export_json_ld
Export project data in JSON-LD format using a configured export profile. Use `fetch_json_ld_import_profiles` first to discover the configTypeId. At least one of exportTypes/exportElements/exportTaxonomies/exportDataTypes must be true. Tree-based mode (graphBased=false) requires exactly one nodeId; graph-based mode allows multiple or none.
Parameters (11)
- graphProjectIdstringrequired
- configTypeIdstringrequired
JSON-LD export profile id (from fetch_json_ld_import_profiles)
- exportTypesboolean
- exportElementsboolean
- exportTaxonomiesboolean
- exportDataTypesboolean
- graphBasedboolean
true = graph-based (no root); false = tree-based (requires exactly one nodeId)
- spaceIdstring
Optional space id to filter export data; empty = all spaces
- nodeIdsarray
For tree-based export, exactly one root node id; for graph-based, optional
- includeSpaceboolean
- useDefaultTypeboolean
fetch_json_ld_import_profiles
Fetch JSON-LD import/export profiles available for a project.
Parameters (1)
- graphProjectIdstringrequired
export_jsonschema
Export project data as a JSON Schema string.
Parameters (4)
- graphProjectIdstringrequired
- spaceIdstring
- configTypeIdstring
Export profile id used for the JSON Schema export.
- rootNodeIdstring
Optional root node id; empty/omitted to export without a fixed root.
fetch_json_schema_import_profiles
Fetch JSON Schema import/export profiles available for a project.
Parameters (1)
- graphProjectIdstringrequired
validate_json
Validate a JSON document against a project's stored JSON Schema. The schema is regenerated from the project using the supplied configTypeId (the export profile id) and rootNodeId. Provide the JSON to validate as a serialized string.
Parameters (5)
- graphProjectIdstringrequired
- configTypeIdstring
Profile id used to map mixins/relations to schema keywords
- rootNodeIdstringrequired
Node id used as the root when generating the JSON Schema
- spaceIdstring
Optional space id to scope the schema
- jsonStringstringrequired
The JSON document to validate, serialized as a string
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.
Parameters (1)
- graphProjectIdstringrequired
get_project_summary
Labels and IDs of types, elements, and taxonomies in the project. Each category is paginated independently. Pagination: - First call: omit page (defaults to 0). - Each category reports page, pageSize and hasMore. Re-request with page+1 for any category whose hasMore is true.
Parameters (3)
- graphProjectIdstringrequired
- pageinteger
0-based page index, applied independently to each category.
- pageSizeinteger
list_projects
List the user's CoreModels projects as [id,name,accessLevel] (see the response "format" field). Use a returned id as graphProjectId for other tools. Pass searchTerm to filter by name (case-insensitive substring). Set includePublicProjects=true to also include public projects. Set includeAISummary=true to also return each project's saved AI-generated summary and the time it was generated (4th and 5th elements). Paged: page is 1-based; increment page up to the returned totalPages to get all results.
Parameters (5)
- searchTermstring
Optional case-insensitive substring to filter projects by name.
- includePublicProjectsboolean
When true, public projects the user is not a member of are also included.
- includeAISummaryboolean
When true, each project row includes its saved AI-generated summary (markdown) and the time it was generated as 4th and 5th elements, or null if none has been generated.
- pageinteger
1-based page number. Increment to page through results up to totalPages.
- pageSizeinteger
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.
Parameters (11)
- graphProjectIdstringrequired
- nodeTypestring
- nodeIdsarray
- expressionstring
Partial substring match against the node label. Plain text only - no wildcards, no regex, no '*', '%', '_' or '?' characters; the literal characters are matched as-is.
- spaceIdsarray
- includeRelationsboolean
- includeMixinsboolean
- sortAttrstring
- sortDescboolean
- pageSizeinteger
- pagingTokenstring
Pagination token from the previous response. Always use the latest one.
export_shex
Export project data as a ShEx (Shape Expressions) schema string.
Parameters (4)
- graphProjectIdstringrequired
- spaceIdstring
- nodeIdsarray
Optional type node ids to export; omit to export all types (optionally scoped to a space).
- includeCardinalityboolean
Whether to emit ShEx cardinality markers (?, *, +). Defaults to true.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"coremodels": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://go.coremodels.io/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.