uxxu-mcp
v0.1.2
Published
MCP server for creating and updating Uxxu projects and C4 diagrams through the existing backend API.
Downloads
404
Maintainers
Readme
Uxxu MCP
uxxu-mcp is a local MCP server for Uxxu. It lets chat clients inspect Uxxu projects and create or update C4 diagrams through the existing Uxxu backend API.
It is designed for chat-first clients such as Codex, Claude Code, and OpenClaw.
What It Does
- lists projects in an organization
- reads project context before generation
- reads existing diagrams
- creates C4 system context, container, component, and deployment diagrams
- lays out full diagrams automatically before import
- chooses relationship connectors automatically
- matches element technologies against the Uxxu technology catalog
The main high-level tool is:
uxxu_create_c4_diagram
Installation
Run Without Installing
npx -y uxxu-mcpInstall Globally
npm install -g uxxu-mcp
uxxu-mcpInstall Globally From This Repo
If you want to use npm before the public package publish is finalized:
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
npm install -g .
uxxu-mcpRun From This Repo
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
npm startEnvironment
The server loads mcp/.env automatically when it runs from this repo. These values can also be provided as shell environment variables:
UXXU_API_URLOptional. Defaults tohttps://app.uxxu.io.UXXU_API_KEYPreferred for MCP and automation. SendsAuthorization: ApiKey <key>.UXXU_API_TOKENOptional fallback. Used only whenUXXU_API_KEYis not provided.UXXU_USER_IDOptional. If omitted, the server tries to extractuserIdfrom the JWT payload.
Backward compatibility is still supported for:
CFIVE_API_URLCFIVE_API_KEYCFIVE_API_TOKENCFIVE_USER_ID
Example:
UXXU_API_KEY=your-api-key-here
# Optional fallback:
# UXXU_API_TOKEN=your-jwt-token-hereClient Setup
Codex
{
"mcpServers": {
"uxxu": {
"command": "npx",
"args": ["-y", "uxxu-mcp"],
"env": {
"UXXU_API_KEY": "YOUR_API_KEY"
}
}
}
}If you are working from this repo, you can also use:
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
npm install -g .
./register-codex-mcp.shClaude Code
Claude Code supports local stdio MCP servers.
This repo now includes a project-scoped config at .mcp.json, so if you open this repository in Claude Code it should detect the uxxu MCP server and ask you to approve it.
That project config uses the local repo entrypoint:
{
"mcpServers": {
"uxxu": {
"type": "stdio",
"command": "node",
"args": ["./mcp/src/index.js"],
"env": {
"UXXU_API_URL": "${UXXU_API_URL:-https://app.uxxu.io}",
"UXXU_API_KEY": "${UXXU_API_KEY}"
}
}
}
}If you prefer registering it explicitly in Claude Code, use:
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
export UXXU_API_KEY=your-api-key
npm install -g .
./register-claude-mcp.shOr use the Claude CLI directly:
claude mcp add --transport stdio uxxu --scope local \
--env UXXU_API_URL=https://app.uxxu.io \
--env UXXU_API_KEY=YOUR_API_KEY \
-- node /Users/guillermo/Development/HelveticForce/cfive/mcp/src/index.jsYou can verify it with:
claude mcp list
claude mcp get uxxuOpenClaw
The easiest OpenClaw flow is:
npm install -g uxxu-mcp
export UXXU_API_KEY=YOUR_API_KEY
uxxu-install-openclawThat installer:
- registers the
uxxuMCP server with OpenClaw - installs the bundled
uxxu-mcp-diagramsskill into~/.openclaw/skills
If you are working from this repo before public publish is finalized:
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
npm install -g .
export UXXU_API_KEY=YOUR_API_KEY
./register-openclaw-mcp.shYou can verify it with:
openclaw mcp show uxxuTool Overview
Project Tools
uxxu_list_projectsuxxu_get_projectuxxu_create_projectuxxu_update_project
Project Context Tools
uxxu_get_project_object_modeluxxu_get_project_context
Diagram Tools
uxxu_list_diagramsuxxu_get_diagramuxxu_create_diagramuxxu_update_diagram
Diagram Content Tools
uxxu_add_diagram_contentuxxu_update_diagram_elementsuxxu_update_diagram_links
High-Level C4 Tool
uxxu_create_c4_diagram
Recommended Chat Flow
When using Codex, Claude, or OpenClaw, the best sequence is:
uxxu_list_projectsuxxu_get_project_context- optionally
uxxu_get_diagram uxxu_create_c4_diagram
That gives the model enough context to create diagrams without guessing.
High-Level C4 Input
uxxu_create_c4_diagram accepts:
diagramType:SYSTEM_CONTEXT,CONTAINER,COMPONENT, or numeric idselements: objects withkeytype:ACTOR,SYSTEM,APPLICATION,STORE,COMPONENT,GROUP, orNOTEname- optional
description,technology,external,parentKey,x,y,w,h
relationships: objects withfromto- optional
note,fromConnector,toConnector,position
autoLayout: optional boolean, defaults totrue
The server creates the diagram first, then converts the model into the existing backend element and link payloads.
Diagram-oriented responses include:
viewerUrl- layout metadata
- technology sync metadata
Registry Publishing
uxxu-mcp is now prepared for the official MCP Registry path.
Included in this repo:
mcp/package.jsonwithmcpNamemcp/server.json.github/workflows/publish-uxxu-mcp-registry.yml
Local checks:
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
npm run registry:checkManual local publish to the official MCP Registry:
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
mcp-publisher login github
npm run registry:publishAutomated publish:
- publish the npm package successfully
- add
NPM_TOKENto the GitHub repository secrets - push a tag like
uxxu-mcp-v0.1.2
The GitHub Actions workflow will:
- publish the npm package
- authenticate to the official MCP Registry using GitHub OIDC
- publish
server.json
Registry coverage notes are tracked in:
Exact Release Flow
For the current release:
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
npm run release:check
export NPM_TOKEN=your-publish-token
./publish-npm.shThen publish the official MCP Registry metadata:
cd /Users/guillermo/Development/HelveticForce/cfive/mcp
mcp-publisher login github
npm run registry:publishIf you want GitHub Actions to handle the official path on the repo side, push this tag from the repository root:
cd /Users/guillermo/Development/HelveticForce/cfive
git tag uxxu-mcp-v0.1.2
git push origin uxxu-mcp-v0.1.2Example Prompt
In the Uxxu project "Architecture Demo", create a C4 container diagram for an e-commerce platform with a web app, mobile apps, API gateway, order service, payment service, PostgreSQL databases, Kafka, Stripe, Auth0, and SendGrid.The model should:
- find the project
- inspect project context if needed
- call
uxxu_create_c4_diagram
Publishing Checklist
Before publishing to npm:
- bump the version in
package.json - verify the README install snippets
- confirm
UXXU_API_*environment handling - test
npx -y uxxu-mcp - inspect the package contents with:
npm run pack:dry-run- publish with:
export NPM_TOKEN=your-npm-token
npm run publish:npmIf you prefer, you can also run the helper directly:
export NPM_TOKEN=your-npm-token
./publish-npm.shIf your npm account enforces publish 2FA and your token does not bypass it, provide the one-time password too:
export NPM_TOKEN=your-npm-token
export NPM_OTP=123456
./publish-npm.shBackward Compatibility
- the server still accepts older
cfive_*tool names - new integrations should use the
uxxu_*names
Scope
This MCP is intentionally deterministic. It does not run its own LLM. The chat client provides the reasoning, and the MCP provides the Uxxu operations.
