MCP App Store
by KeenEthics
Developer Tools
Componecat icon

Componecat

by Shaftware LLC

Overview

Componecat is a software component catalog platform that gives engineering organizations a single, authoritative source of truth for their software landscape. It combines a dynamic, organization-configurable entity kind system, rich metadata via unified field definitions, deep Git integration with catalog-as-code descriptors, comprehensive documentation hosting, explicit interface definitions, and a Model Context Protocol (MCP) server so AI coding agents can derive contextual understanding of the catalog in real time. The platform treats catalog freshness as a first-class product concern. A pluggable integration layer reconciles the catalog against the actual state of the software landscape, and a planned AI engine will continuously discover components, infer relationships, generate documentation, and suggest maintenance actions to eliminate drift and documentation debt. The current platform delivers organization multi-tenancy, GraphQL and REST APIs, an MCP server with device flow OAuth 2.0, audit logging, soft delete with trash/restore, background job processing, full-text catalog and documentation search, outgoing webhooks, and a React frontend with organization switching, theming, and role-based access control.

Tools

add_activity_log_entry

ChatGPT
Append a new entry to a catalog entity's activity log. Content is Markdown-formatted text. Optionally set an expiration after which the entry is automatically purged. Entries are append-only and cannot be edited.

add_kind_field_assignment

ChatGPT
Associate a field definition with an entity kind. Requires 'Edit schema' grant and organization admin role. Use list_entity_kind_definitions to get kindId and list_entity_field_definitions to get fieldId. The field will appear in the kind's spec with the given display order and optional category override.

add_relationship

ChatGPT
Create a relationship between two catalog entities. Specify source and target by entity ref URI (e.g. 'component://my-service') and the relationship kind key (e.g. 'depends-on', 'parent-of'). Use get_relationship_kinds to see available kinds.

add_team_members

ChatGPT
Add one or more members to a team. Members named by user ID must belong to the organization. To record someone who has no account in the catalog, pass their name and/or email in memberNames instead — they appear on the roster and are linked to a user automatically if one turns up later.

configure_git_sourced_documentation

ChatGPT
Configure Git-sourced documentation on a catalog entity. Creates a documentation section whose content is synced automatically from a Git repository, mirroring the UI's 'Configure Git-Sourced Documentation' dialog. Section types: OVERVIEW, ARCHITECTURE, RUNBOOK, API_REFERENCE, ADRS, CHANGELOG, CUSTOM. After configuring, use sync_git_sourced_documentation to fetch the content (requires an enabled DocumentationSync capability on a matching provider).

create_catalog_entity

ChatGPT
Create a new catalog entity. Works for built-in kinds (system, component, resource, knowledge-base, tool, ai-skillset, template) and any custom kind defined in the organization — use list_entity_kind_definitions to discover custom kind keys. Requires displayName, kind, and an owner team ID; lifecycle defaults to EXPERIMENTAL and description defaults to the displayName. Components support languages and repository. Use namespace to organize entities (optional, omit for no namespace). If the kind has required custom fields, supply them via fieldValuesJson (use list_entity_field_definitions to discover the keys and types) — otherwise the create is rejected.

create_documentation_section

ChatGPT
Create a new documentation section on a catalog entity. Section types: OVERVIEW, ARCHITECTURE, RUNBOOK, API_REFERENCE, ADRS, CHANGELOG, CUSTOM. Content is Markdown-formatted text.

create_entity_field_definition

ChatGPT
Create a new entity field definition. Requires 'Edit schema' grant and organization admin role. The key must be lowercase alphanumeric with hyphens (e.g. 'owner-team', 'tier'). Field types: Text, Number, Boolean, Date, Url, Select, MultiSelect, User, Team, Tag, Json. For Select and MultiSelect types, provide options as a JSON array of strings (e.g. '["low","medium","high"]'). Category groups fields together in the UI (e.g. 'General', 'Ownership', 'Technical').

create_entity_kind_definition

ChatGPT
Create a new entity kind definition. Requires 'Edit schema' grant and organization admin role. The key must be lowercase alphanumeric with hyphens (e.g. 'microservice', 'data-pipeline'). Icon is a Lucide icon name (e.g. 'Box', 'Database'). Color is a CSS color name or hex value (e.g. 'blue', '#6366f1'). Set hasInterfaces=true to allow this kind to implement interface kinds, and hasActivityLog=true to enable the activity log tools on entities of this kind.

create_interface

ChatGPT
Create a new interface on a catalog entity (Component or Resource). Interfaces represent APIs, CLIs, MCP servers, UIs, data shares, or packages.

create_relationship_kind_definition

ChatGPT
Create a new relationship kind definition. Requires 'Edit schema' grant and organization admin role. The key must be lowercase alphanumeric with hyphens (e.g. 'depends-on', 'owned-by'). Cardinality: OneToMany (each target has at most one source) or ManyToMany. CyclePolicy: Forbid (prevent cycles), Warn (warn on cycles), or Allow. DeletePolicy: BlockSource (prevent source deletion), Cascade (delete source), or Allow. SourceLabel and targetLabel describe the ends of the relationship (e.g. 'Owner', 'Member'). IsHierarchical=true requires Cardinality=OneToMany and CyclePolicy=Forbid. IsDependency=true marks this kind as the dependency relationship kind for impact-analysis traversal. IsApiProvider=true marks this kind as representing an API-provision relationship.

create_team

ChatGPT
Create a new team in the organization. Returns the created team details.

delete_activity_log_entry

ChatGPT
Delete an activity log entry from a catalog entity.

delete_catalog_entity

ChatGPT
Delete a catalog entity (soft-delete). The entity can be restored by an admin using the trash management features.

delete_documentation_section

ChatGPT
Delete a documentation section from a catalog entity.

delete_entity_field_definition

ChatGPT
Delete an entity field definition. Requires 'Edit schema' grant and organization admin role. By default this will fail if the field is assigned to any entity kinds. Set force=true to automatically remove all kind assignments before deleting.

delete_entity_kind_definition

ChatGPT
Delete an entity kind definition. Requires 'Edit schema' grant and organization admin role. This will fail if any catalog entities still use this kind — reassign or delete those entities first.

delete_interface

ChatGPT
Delete an interface from a catalog entity.

delete_relationship_kind_definition

ChatGPT
Delete a relationship kind definition. Requires 'Edit schema' grant and organization admin role. This will fail if any catalog relationships still use this kind — remove those relationships first.

delete_team

ChatGPT
Delete a team from the organization. Fails if the team still owns catalog entities — reassign ownership first, e.g. with update_catalog_entity.

get_catalog_entity

ChatGPT
Get detailed metadata for a specific catalog entity of any kind, by ID or entity ref URI. Provide exactly one of 'id' (UUID) or 'ref' (entity ref URI, e.g. 'component://my-service'). Returns name, displayName, ref, namespace, kind, lifecycle, owner, description, tags, custom field values, and timestamps. For kinds with a repository, also returns the repository URL, sync status, and a preview of the README. Hierarchy and dependencies are not included — use get_relationships for those, and get_interfaces / get_documentation for interfaces and documentation sections.

get_current_organization

ChatGPT
Get information about the current organization

get_documentation

ChatGPT
Get documentation sections for a catalog entity. Returns all documentation sections with section type, title, and Markdown content. Optionally filter by section type (OVERVIEW, ARCHITECTURE, RUNBOOK, API_REFERENCE, ADRS, CHANGELOG, CUSTOM).

get_entity_scorecard_results

ChatGPT
Get a catalog entity's current results against every scorecard that applies to it. For each applicable scorecard, returns the weighted score (0-100), the highest ladder level attained (if the scorecard defines one), and a per-rule pass/fail breakdown with a failure message and remediation link for each failing rule. A scorecard with no evaluation yet (newly in scope, not yet picked up by an evaluation pass) is reported as not yet evaluated rather than a zero score.

get_impact_analysis

ChatGPT
Analyze the downstream impact of a catalog entity by traversing transitive relationships. Returns all entities that are transitively connected via the specified relationship kind (default: the dependency relationship kind — one marked isDependency=true), with hop counts indicating distance from the root entity. Useful for understanding blast radius of changes.

get_interfaces

ChatGPT
Get all interfaces for a catalog entity whose kind has the interfaces feature enabled. Returns interface name, kind, protocol, URL, authentication method, spec URL, labels, visibility, health check URL, and rate limit information.

get_relationship_kinds

ChatGPT
List all available relationship kind definitions for the organization. Returns each kind's key, display name, description, cardinality, cycle policy, delete policy, and directional labels. Use the 'key' values with get_relationships and add_relationship.

get_relationships

ChatGPT
List relationships for a catalog entity. Optionally filter by relationship kind key (e.g. 'depends-on', 'parent-of') and direction. Use depth > 1 for transitive traversal (e.g. all transitive dependencies). Direction 'source' means the entity is the source (outgoing), 'target' means entity is target (incoming), 'both' returns all.

get_team

ChatGPT
Get detailed information about a specific team by ID. Returns team name, description, member count, owned entity count, timestamps, the external system and external ID for a synced team (e.g. its Atlassian team id), and the roster.

import_interface_spec

ChatGPT
Import or re-import the API specification for an interface. The interface must have a specUrl configured. Fetches the spec from the URL and parses it (OpenAPI, AsyncAPI).

list_activity_log_entries

ChatGPT
List the activity log entries for a catalog entity, newest first. Each entry has Markdown content, a creation timestamp, the ID of the user who created it (or '(system)' for entries created automatically), and an optional expiration. Only available on entities whose kind has the activity log feature enabled.

list_by_owner

ChatGPT
List all catalog entities owned by a specific team. Search by team ID or team name. Returns each entity's type (kind), lifecycle, and description.

list_catalog_entities

ChatGPT
List catalog entities for browsing and enumeration — no search query required. Returns entities ordered by name with optional filters by kinds, lifecycle, owner, and tag. Use this for "show me everything" or "list all <kind>" workflows; use search_catalog instead when you have text to rank results against. Results are paginated — when more pages exist, pass the returned cursor as 'after' to continue. Call list_entity_kind_definitions to discover valid kind keys.

list_componecat_documentation

ChatGPT
List every page of Componecat's own product documentation — how to use the platform, not the contents of this organization's catalog. Returns each page's path, title, summary, and public URL. Call this first, then read_componecat_documentation for the page you need.

list_entities_failing_scorecard

ChatGPT
List catalog entities currently failing a scorecard — or, when ruleName is given, failing that specific rule within it. Use this to find the concrete entities that need work to meet a standard. Call list_scorecards first to discover valid scorecard and rule names. Results are paginated — when more pages exist, pass the returned cursor as 'after' to continue.

list_entity_field_definitions

ChatGPT
List all entity field definitions in the organization. Returns each field's id, key, display name, description, field type, category, options (for Select/MultiSelect types), default value, and whether it is searchable. Field types: Text, Number, Boolean, Date, Url, Select, MultiSelect, User, Team, Tag, Json.

list_entity_kind_definitions

ChatGPT
List all entity kind definitions in the organization. Returns each kind's id, key, display name, description, icon, color, enabled features (documentation, repository, interfaces, activity log), and allowed interface kinds. Pass a returned 'key' as the 'kind' argument of create_catalog_entity.

list_git_sourced_documentation

ChatGPT
List the Git-sourced documentation bindings on a catalog entity. Returns each section's repository, file path pattern, branch, sync status, and last sync error/time. Static (manually-authored) documentation sections are excluded — use get_documentation for those.

list_relationship_kind_definitions

ChatGPT
List all relationship kind definitions in the organization. Returns each relationship kind's id, key, display name, description, cardinality, cycle policy, delete policy, source/target labels, and semantic flags (isHierarchical, isDependency, isApiProvider). Cardinality: ONE_TO_MANY or MANY_TO_MANY. CyclePolicy: FORBID, WARN, or ALLOW. DeletePolicy: BLOCK_SOURCE, CASCADE, or ALLOW.

list_scorecards

ChatGPT
List every scorecard defined in the organization — the standards agents and humans can check catalog entities against. Returns each scorecard's name, description, scope query (which entities it applies to), enabled/status, ladder levels, and its ordered list of weighted rules (name, type, query, weight, level, failure message, remediation link). Use get_entity_scorecard_results to see one entity's results, or list_entities_failing_scorecard to see which entities are non-compliant. This tool is read-only — scorecards cannot be created or edited over MCP.

list_teams

ChatGPT
List teams in the organization, most recently updated first. Returns team name, description, member count, and — for teams synced from an external system such as Atlassian — that system and the team's external ID. Results are paginated — when more pages exist, pass the returned cursor as 'after' to continue.

read_componecat_documentation

ChatGPT
Read one page of Componecat's product documentation in full, as Markdown. Use the path from list_componecat_documentation, e.g. 'guides/team-sync' or 'reference/descriptor-file'.

remove_git_sourced_documentation

ChatGPT
Remove the Git source binding from a documentation section without deleting the section. Clears the repository, file path pattern, and branch and stops syncing — the section becomes a manually-editable section. To delete the section entirely instead, use delete_documentation_section.

remove_kind_field_assignment

ChatGPT
Remove a field definition from an entity kind. Requires 'Edit schema' grant and organization admin role. This only removes the association — the field definition itself is not deleted. Use list_entity_kind_definitions to get kindId and list_entity_field_definitions to get fieldId.

remove_relationship

ChatGPT
Remove a relationship by its ID. Requires edit access to the relationship's source entity. Use get_relationships to find relationship IDs first.

remove_team_member

ChatGPT
Remove a member from a team. Pass the member's id as shown by get_team — that works for members with and without a catalog account. A user ID is also accepted.

search_catalog

ChatGPT
Search the catalog for entities using full-text search with typo tolerance, or a structured query expression. Returns ranked results with name, displayName, ref, namespace, kind, owner, lifecycle, tags, field values, and relevance score. Supports optional filters by kinds, lifecycle, owner, tags, languages, and field values. The query is optional — omit it to rank by filters alone; for unranked browsing or full enumeration of a kind, use list_catalog_entities instead. Use list_entity_kind_definitions to discover valid kind keys and list_entity_field_definitions to discover available field keys before filtering.

sync_git_sourced_documentation

ChatGPT
Trigger an immediate sync of all Git-sourced documentation sections on a catalog entity. Requires an enabled DocumentationSync capability on a provider matching each section's host (GitHub / GitLab / Bitbucket). The sync runs in the background; poll list_git_sourced_documentation for the resulting sync status.

update_catalog_entity

ChatGPT
Update an existing catalog entity's properties. Only provided fields will be updated; omitted fields remain unchanged. Supports updating name, displayName, namespace, description, lifecycle, tags, owner, and the repository and languages of kinds that have them. Changing name or namespace changes the entity's ref URI, which breaks anything referring to the old ref. Use update_entity_field_values to set custom field values.

update_documentation_section

ChatGPT
Update an existing documentation section's title, content, or other properties. Only provided fields will be updated; omitted fields remain unchanged.

update_entity_field_definition

ChatGPT
Update an existing entity field definition. Requires 'Edit schema' grant and organization admin role. Only provide the fields you want to change — omitted fields are left unchanged. Note: the key cannot be changed after creation.

update_entity_field_values

ChatGPT
Set field values on a catalog entity. Accepts key-value pairs where keys correspond to field definition keys. Values are validated against the field definitions. Set a value to null to remove a field value. Use list_entity_field_definitions first to discover available keys and their types.

update_entity_kind_definition

ChatGPT
Update an existing entity kind definition. Requires 'Edit schema' grant and organization admin role. Only provide the fields you want to change — omitted fields are left unchanged. Note: the key can only be changed if no entities of this kind exist yet.

update_git_sourced_documentation

ChatGPT
Update an existing Git-sourced documentation binding (repository, file path pattern, branch, title, or sort order). Only provided fields are changed. Changing the file path pattern re-queues the section for syncing. Use list_git_sourced_documentation to find the section ID. To delete the section entirely use delete_documentation_section; to stop syncing but keep the section use remove_git_sourced_documentation.

update_interface

ChatGPT
Update an existing interface's properties. Only provided fields will be updated; omitted fields remain unchanged.

update_kind_field_assignment

ChatGPT
Update the assignment of a field definition to an entity kind. Requires 'Edit schema' grant and organization admin role. Only provide the fields you want to change — omitted fields are left unchanged. Use list_entity_kind_definitions to get kindId and list_entity_field_definitions to get fieldId.

update_relationship_kind_definition

ChatGPT
Update an existing relationship kind definition. Requires 'Edit schema' grant and organization admin role. Only provide the fields you want to change — omitted fields are left unchanged. Note: tightening cardinality (ManyToMany → OneToMany) or cycle policy (Allow/Warn → Forbid) will fail if existing relationship data would violate the new constraints.

update_team

ChatGPT
Update an existing team's name or description. Returns the updated team details.

add_activity_log_entry

Claude

add_kind_field_assignment

Claude

add_relationship

Claude

add_team_members

Claude

configure_git_sourced_documentation

Claude

create_catalog_entity

Claude

create_documentation_section

Claude

create_entity_field_definition

Claude

create_entity_kind_definition

Claude

create_interface

Claude

create_relationship_kind_definition

Claude

create_team

Claude

delete_activity_log_entry

Claude

delete_catalog_entity

Claude

delete_documentation_section

Claude

delete_entity_field_definition

Claude

delete_entity_kind_definition

Claude

delete_interface

Claude

delete_relationship_kind_definition

Claude

delete_team

Claude

get_catalog_entity

Claude

get_current_organization

Claude

get_documentation

Claude

get_impact_analysis

Claude

get_interfaces

Claude

get_relationship_kinds

Claude

get_relationships

Claude

get_team

Claude

import_interface_spec

Claude

list_activity_log_entries

Claude

list_by_owner

Claude

list_catalog_entities

Claude

list_entity_field_definitions

Claude

list_entity_kind_definitions

Claude

list_git_sourced_documentation

Claude

list_relationship_kind_definitions

Claude

list_teams

Claude

remove_git_sourced_documentation

Claude

remove_kind_field_assignment

Claude

remove_relationship

Claude

remove_team_member

Claude

search_catalog

Claude

sync_git_sourced_documentation

Claude

update_catalog_entity

Claude

update_documentation_section

Claude

update_entity_field_definition

Claude

update_entity_field_values

Claude

update_entity_kind_definition

Claude

update_git_sourced_documentation

Claude

update_interface

Claude

update_kind_field_assignment

Claude

update_relationship_kind_definition

Claude

update_team

Claude

Capabilities

Writes

App Stats

120

Tools

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily