Skip to content

feat(mcp): expose DICE tools for MCP server integration#52

Open
LordKay-sudo wants to merge 1 commit into
embabel:mainfrom
LordKay-sudo:feat/mcp-server-tools
Open

feat(mcp): expose DICE tools for MCP server integration#52
LordKay-sudo wants to merge 1 commit into
embabel:mainfrom
LordKay-sudo:feat/mcp-server-tools

Conversation

@LordKay-sudo

@LordKay-sudo LordKay-sudo commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add DiceMcpTools with simplified context_id-scoped parameters for external MCP clients (Claude Desktop, Cursor, etc.).
  • Add dice-mcp-autoconfigure to export tools via embabel-agent McpToolExport when embabel.dice.mcp.enabled=true.
  • Support core (4 tools) and extended profiles; optional extraction/entity tools export only when the host app wires the corresponding beans.

Fixes #5

Motivation

Issue #5 asks to make it easy to expose DICE over MCP. External clients are stateless, so every tool takes an explicit context_id, same idea as #6's context-scoped chunk history.

#49 added DiscoveryTools and GraphQueryTools with manual asTools() registration. This PR closes the remaining gap: auto-wiring McpToolExport + embabel-agent-starter-mcpserver so a Spring Boot app can expose DICE over MCP without bespoke configuration.

Scope

This only exports DiceMcpTools (recall, list, store, get, plus extract/assert when wired). DiscoveryTools and GraphQueryTools from #49 are a separate surface. Those bake context in at construction for in-process agents, so I left them out of the MCP autoconfig path. Happy to follow up if discovery/graph tools over MCP are wanted.

What changed

Area Change
com.embabel.dice.mcp DiceMcpTools, DiceMcpProfile, DiceMcpSupport
dice-mcp-autoconfigure Opt-in Spring Boot wiring + named diceMcpToolExport bean
Docs README MCP section, AGENTS.md navigation

Test plan

  • DiceMcpToolsTest - store/get, recall, context isolation, profiles, optional-tool guards
  • mvn test -pl dice,dice-mcp-autoconfigure
  • full mvn test verify on CI after rebase onto main

)

Add DiceMcpTools with context-scoped parameters for external MCP clients,
a core/extended profile split, and dice-mcp-autoconfigure to export tools
via embabel-agent McpToolExport when embabel.dice.mcp.enabled=true.

Signed-off-by: LordKay-sudo <lkandiro@gmail.com>
@LordKay-sudo LordKay-sudo force-pushed the feat/mcp-server-tools branch from 993700f to 31f9763 Compare June 27, 2026 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make it easy to expose an MCP server

1 participant