@orangeweb3/mcp-orange-api
v0.4.0
Published
Orange Web3 MCP server with Bedrock auth tooling and CLI
Readme
@orangeweb3/mcp-orange-api
MCP server and auth client toolkit for Orange automation.
This package now includes two areas:
- project/review tools for Orange Web3
- Bedrock auth tools and CLI helpers
Tooling in This Package
Project and review tools
list_projectsget_projectlist_user_projectscreate_projectupdate_projectlist_liked_projects_by_orange_idsubmit_feedbackcheck_rate_limitget_job_status
Auth tools (existing Bedrock endpoints)
auth_register_emailauth_login_emailauth_refreshauth_whoamiauth_logoutlist_skills
These auth tools call existing Bedrock Passport endpoints only.
Install
Consumers (npm)
Install globally to get both CLI binaries:
npm install -g @orangeweb3/mcp-orange-apiThis provides:
orange-mcp(MCP stdio server)orange-auth(Bedrock auth CLI)
You can also run without global install:
npx -y -p @orangeweb3/mcp-orange-api orange-auth --helpContributors (monorepo)
pnpm install
pnpm --filter @orangeweb3/mcp-orange-api buildDevelopment Commands
# MCP server dev watch
pnpm --filter @orangeweb3/mcp-orange-api dev
# Auth CLI (pnpm + tsx)
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- --help
# Tests
pnpm --filter @orangeweb3/mcp-orange-api test
# Typecheck
pnpm --filter @orangeweb3/mcp-orange-api typecheckAuth + Project CLI
The package exposes orange-auth as a bin entry after build.
Common usage
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- auth login --email "[email protected]" --password "your-password" --json
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- auth whoami --json
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- auth refresh --json
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- auth logout --json
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- skills --json
# project endpoints
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- project list-user --project-status approved --json
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- project create --payload-file ./project-payload.json --json
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- project update --project-id "123" --payload-file ./project-payload.json --json
pnpm --filter @orangeweb3/mcp-orange-api dev:auth -- project liked --orange-id "orange_user_id" --jsonSkills discovery
orange-auth skills
orange-auth help skillsIn MCP clients, call list_skills to retrieve the same packaged catalog of auth/project guidance, examples, and related Orange workflow summaries.
XDG persistence
Session file:
$XDG_STATE_HOME/orange-cli/auth.json- fallback:
~/.local/state/orange-cli/auth.json
Behavior:
loginandregisterpersist session by default.whoami,refresh, andlogoutcan run without explicit token flags.- project commands read
--access-tokenfirst and fall back to persisted session unless--no-persistis set. - use
--no-persistto disable persistence for one command.
Environment Variables
Project/review tools
ORANGE_API_BASE(default:https://app.orangeweb3.com/api)WORKER_API_BASE(default:http://localhost:3001/api)
Auth tools/CLI
BEDROCK_AUTH_BASE_URL(default:https://api.bedrockpassport.com/api/v1/auth)BEDROCK_SUBSCRIPTION_KEY(orOCP_APIM_SUBSCRIPTION_KEY; optional override, default:d3d4ee166782499f9232c4b6be687322)BEDROCK_AUTH_DEFAULT_TENANT_ID(optional override for login, default:orangeid-vFlBDiUkSj)BEDROCK_AUTH_TIMEOUT_MS(default:15000)
OpenClaw MCP Config Example
Add to ~/.clawdbot/openclaw.json:
{
"mcpServers": {
"orange-web3": {
"command": "orange-mcp",
"env": {
"ORANGE_API_BASE": "https://app.orangeweb3.com/api",
"WORKER_API_BASE": "http://localhost:3001/api",
"BEDROCK_AUTH_BASE_URL": "https://api.bedrockpassport.com/api/v1/auth",
// Optional overrides:
// "BEDROCK_SUBSCRIPTION_KEY": "<your-key>",
// "BEDROCK_AUTH_DEFAULT_TENANT_ID": "<your-tenant>"
}
}
}
}If your OpenClaw runtime does not inherit PATH, use:
{
"mcpServers": {
"orange-web3": {
"command": "npx",
"args": ["-y", "-p", "@orangeweb3/mcp-orange-api", "orange-mcp"],
"env": {
// Optional overrides:
// "BEDROCK_SUBSCRIPTION_KEY": "<your-key>",
// "BEDROCK_AUTH_DEFAULT_TENANT_ID": "<your-tenant>"
}
}
}
}Contracts and Notes
- Auth flow is built on existing Bedrock endpoints only.
orange-authandorange-mcpdefault to the public subscription keyd3d4ee166782499f9232c4b6be687322and tenant idorangeid-vFlBDiUkSjwhen callers do not override them.refreshreturns a new access token.logoutrequest must send{}body.
For full end-to-end integration details, see the repository doc:
docs/BOT_AUTH_AUTOMATION.md
Publish to npm
From repository root:
pnpm --filter @orangeweb3/mcp-orange-api test
pnpm --filter @orangeweb3/mcp-orange-api typecheck
pnpm --filter @orangeweb3/mcp-orange-api pack
pnpm --filter @orangeweb3/mcp-orange-api publish --access public