Skip to content

Add AI-native MCP server and agent skills#42

Closed
ksaidi-terpomo wants to merge 1 commit into
mainfrom
codex/ai-native-mcp
Closed

Add AI-native MCP server and agent skills#42
ksaidi-terpomo wants to merge 1 commit into
mainfrom
codex/ai-native-mcp

Conversation

@ksaidi-terpomo

@ksaidi-terpomo ksaidi-terpomo commented May 15, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • Added a new mcpserver Gradle application module that exposes Pmitz operations as MCP STDIO tools.
  • Implemented remote and local backends behind a shared PmitzBackend interface.
  • Added tools for product upload/removal, usage remaining/check/record/reduce, and subscription create/find/status/entitlement flows.
  • Added Codex and Claude project skills for AI-native Pmitz development workflows.
  • Added first-user MCP setup docs.
  • Documented ../pmitz-samples as the recommended realistic sample environment for trying the MCP server with the public-library demo.

Positioning

This MCP server is not the normal runtime integration path for applications. Production applications should continue to call Pmitz through the Java APIs, remote client, or remote HTTP API.

The MCP server is for developer, testing, support, and operations workflows where an AI assistant needs to inspect, configure, or exercise Pmitz. The docs and both Codex/Claude skills carry this positioning.

Runtime path:

your application -> Pmitz Java API or Pmitz remote server

MCP path:

developer/operator -> AI assistant -> Pmitz MCP server -> Pmitz

Why

This gives AI clients a stable tool interface for Pmitz instead of requiring them to call Java APIs or hand-roll HTTP requests. The sample docs connect that interface to the existing public-library sample stack.

Sample workflow

Start the sibling sample stack:

cd ../pmitz-samples
./start-sample-public-library start

Then point the MCP server at the sample Pmitz server:

cd ../pmitz
export PMITZ_MCP_MODE=remote
export PMITZ_REMOTE_URL=http://localhost:8090
export PMITZ_API_KEY="$(grep PMITZ_API_KEY ../pmitz-samples/.local/public-library.env | cut -d= -f2)"
./gradlew :mcpserver:run

The sample product uses public-library, feature reserve, and limit maxborrowed.

Validation

  • ./gradlew :mcpserver:test --tests io.terpomo.pmitz.mcpserver.tools.PmitzMcpLocalE2ETests
  • Remote-mode MCP STDIO E2E against a running remoteserver on H2, covering upload, usage, limits, subscriptions, entitlement, and removal tool calls.
  • Audited all PR docs and skills for MCP-vs-runtime positioning.
  • ./gradlew :mcpserver:test after updating/removing internal work-log references.
  • ./gradlew build

@ksaidi-terpomo ksaidi-terpomo changed the title [codex] Add AI-native MCP server Add AI-native MCP server May 15, 2026
@ksaidi-terpomo ksaidi-terpomo changed the title Add AI-native MCP server Add AI-native MCP server and agent skills May 15, 2026
@ksaidi-terpomo ksaidi-terpomo force-pushed the codex/ai-native-mcp branch 3 times, most recently from d747643 to 14595d8 Compare May 15, 2026 19:14
@ksaidi-terpomo

Copy link
Copy Markdown
Collaborator Author

not applicable

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.

1 participant