Package com.ssgllc.fish.config.mcp


package com.ssgllc.fish.config.mcp
Spring configuration classes that expose the Casetivity backend as a Model Context Protocol (MCP) server.

All beans in this package are gated by ConditionalOnMcpEnabled and are only active when spring.ai.mcp.server.enabled=true (i.e. the mcp Spring profile is included). Tool implementations extend McpToolsSupport and are registered as ToolCallbackProvider beans whose callbacks are wrapped by PerRequestDebugToolCallbackSupport for optional per-request debug logging.

Tool Groups

Config classTool nameOne-line purpose
McpBpmConfig get-process-definition-bpmn Fetch the BPMN XML for a process deployment
McpConfigurationConfig config-search Full-text search across all configuration item types
list-entity-names List all entity names in the data model
get-entity-data-model Describe fields, types, and relationships for one or more entities
get-value-set Return all concepts in a value set by code
search-concepts Substring search within a value set
get-application-details Return environment name, feature flags, and runtime settings
refresh-caches Trigger a server-side cache refresh for one or all cache types
McpDeveloperToolsConfig validate-report Parse a report SQL template and extract parameters and output columns
test-report-output Execute a report template with supplied parameter values (max 25 rows)
test-full-report Smoke-test a report with auto-generated dummy parameter values
validate-sql Validate raw SQL against the application data model
test-spel-expression Evaluate a SpEL expression against a real entity instance
test-match-expression Score a deduplication match expression between two entity instances
test-merge-expression Evaluate a merge survivorship expression between two entity instances
test-attribute-expression Test a boolean attribute-security expression against a real entity
list-spel-functions List all registered SpEL function signatures
execute-groovy-script Run a Groovy script with optional bound variables in a general context
execute-text-template Execute a named TextTemplate Groovy script stored in the application
test-entity-lifecycle-script Test a Groovy script with the bound variables for a lifecycle event
test-process-script Execute a Groovy script in the context of a running process instance
set-debug-logging Create a per-request debug token scoped to specified packages/levels
get-debug-logs Retrieve captured log lines for a previously issued debug token
McpEntityConfig get-entity Fetch a Casetivity entity DTO by type and id
get-domain-entity Fetch the raw domain entity (JPA object) by type and id
find-entity Find a single entity by exact field match
search-entity Search entities with filter criteria, paging, and sorting
create-entity Create a new entity of any type with provided field values
update-entity Update an existing entity by type and id
delete-entity Delete an entity by type and id
McpSecurityConfig get-entity-security Inspect entity-level role permissions and attribute expressions
get-field-security-for-entity Inspect field-level role permissions and attribute expressions
get-role-security Resolve all effective entity permissions for a role across its hierarchy
list-roles List all roles with name, displayName, and direct parents
get-user-details Return user properties, effective roles, and userTokenFields attributes

Resources

  • texttemplate://EnvConfig — EnvConfig JSON (compact) from the text-template cache
  • file://datamodel.json — Full application data model (compact JSON)
  • file://spel-functions.json — All registered SpEL function signatures

Prompts

  • casetivity-description — Platform overview
  • report-development-guide — Step-by-step guide for end-to-end report development
  • spel-expression-guide — Step-by-step guide for SpEL expression development
  • groovy-script-guide — Step-by-step guide for Groovy script development

Local inspection

 # Start the MCP inspector (requires the mcp Spring profile to be active):
 npx @modelcontextprotocol/inspector
 # Connect to: http://localhost:8080/mcp
 
See Also: