@millwork/solver-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SOLVERAPI_API_KEY | Yes | Tenant API key held by the server process and sent as bearer authentication. | |
| SOLVERAPI_BASE_URL | Yes | API base including /v1; the production value is https://api.getmillwork.dev/v1. | |
| SOLVERAPI_MAX_RETRIES | No | Network/5xx retry limit. Default: 2. | 2 |
| SOLVERAPI_RETRY_BACKOFF_MS | No | Exponential-backoff base in milliseconds. Default: 500. | 500 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| solver_list_sourcesA | List the model sources this tenant can connect (GET /v1/model-source-profiles). Every source runs on your provider key/account by construction: each entry carries its protocol/auth profile versions and endpoint policy. No credential material is involved. |
| solver_start_source_handoffA | Start a hosted browser credential handoff for a source (POST /v1/source-credential-handoffs). Returns a continue_url for a HUMAN to complete in a browser against the credential broker -- this tool never accepts or returns a raw key, service-account JSON, cloud secret, or token. Poll with solver_poll_source_handoff until state=completed, then pass the handoff_intent_id to solver_create_source_connection. |
| solver_poll_source_handoffA | Poll a credential handoff intent until the human completes it in the browser (GET /v1/source-credential-handoffs/{handoff_intent_id}). Answers the intent state only. |
| solver_create_source_connectionA | Bind a source connection for your provider key/account from a COMPLETED handoff intent (POST /v1/source-connections). Takes only the opaque handoff_intent_id -- never credential material. A fresh connection is disabled until solver_test_source_connection passes; deployments then come from solver_sync_source_deployments. |
| solver_test_source_connectionA | Run the live credential test on a source connection (POST /v1/source-connections/{id}/test). A passing test activates the connection; the wire reports test_state/test_error. |
| solver_list_source_connectionsA | List this tenant's source connections with their test/rotation state (GET /v1/source-connections). auth_binding_ref is an opaque broker handle, never a secret. |
| solver_sync_source_deploymentsA | Discover and persist the connection-authorized, certification-backed deployments (POST /v1/source-connections/{id}/deployments/sync). Requires an ACTIVE (tested) connection; answers the synced deployment set. Discovery is not certification: unevidenced identities are never persisted. |
| solver_list_model_deploymentsA | List the tenant's certification-backed model deployments (GET /v1/model-deployments). Enable one as an arm with solver_enable_model_arm. |
| solver_enable_model_armA | Enable a certification-backed model deployment as an arm (POST /v1/arms with kind=model and model_deployment_id). Use the catalog entry's secretless arm_registration_template values; claims wider than the certified template are rejected. |
| solver_register_armA | Register a model/agent/skill arm (POST /v1/arms). Returns the created arm, including its arm_id, status, and (for skill kind) artifact_hash. |
| solver_list_armsB | List the tenant's registered arms (GET /v1/arms). Returns { arms, next_cursor }. |
| solver_submitA | Submit a task for governed execution (POST /v1/executions). Requires a unique request ID via idempotency_key (sent as the Idempotency-Key header) -- an MCP client cannot construct a valid call without it. |
| solver_statusA | Poll an execution's lifecycle state (GET /v1/executions/{id}). |
| solver_cancelA | Cancel a running execution (POST /v1/executions/{id}/cancel). |
| solver_resultA | Fetch the retention-bound result of a COMPLETED execution (GET /v1/executions/{id}/result): the final text plus the winner attempt's model provenance (requested vs resolved identity) when one exists. |
| solver_receiptA | Fetch the receipt for an execution -- route rationale, per-slice evals, cost (GET /v1/receipts/{execution_id}). Content-free: never returns task output. |
| solver_proposalsA | List pending repair proposals, or inspect one when proposal_id is set (GET /v1/proposals[/{id}]). |
| solver_review_proposalB | Approve or reject a repair proposal (POST /v1/proposals/{id}/approve|reject); the decision parameter selects which. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/millworkdev/solver-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server