OffshoreProz Agent API MCP
An MCP server and REST API that allows AI agents to programmatically form legal entities such as Wyoming LLCs or Marshall Islands DAO LLCs. The server handles formation requests, estimates, and status tracking, while requiring a human owner to complete KYC, authorize payment, and sign documents.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.offshoreproz.com/mcpWhat its tools do
14 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Read-only (8)
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Programmatically form a Wyoming LLC for an AI agent
- Estimate formation costs and requirements via API
- Track formation status and webhook events
- Generate legal documents for agent entities
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- offshoreproz-agent-api 1.0.0
- MCP protocol negotiated in check
- 2024-11-05
- Tools
- 14 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {}
}Tools
14 advertised
offshoreproz_list_jurisdictions
List all available company-formation jurisdictions with pricing and timelines. No sensitive data. Call this first.
{
"type": "object",
"properties": {
"include_coming_soon": {
"type": "boolean",
"description": "When true, also returns jurisdictions that are not yet accepting formations (status: coming_soon). Defaults to false."
}
}
}{
"type": "object",
"required": [
"jurisdictions",
"count"
],
"properties": {
"count": {
"type": "integer",
"description": "Total number of jurisdictions returned"
},
"jurisdictions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Short jurisdiction code (e.g. WY, MI)"
},
"name": {
"type": "string",
"description": "Full jurisdiction name (e.g. Wyoming LLC)"
},
"status": {
"type": "string",
"description": "live | coming_soon"
},
"eta_days": {
"type": "integer",
"description": "Estimated formation time in business days"
},
"total_estimated_usd": {
"type": "number",
"description": "All-in estimated cost in USD"
}
}
},
"description": "Array of available jurisdictions"
}
}
}{
"title": "List Jurisdictions",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}offshoreproz_get_jurisdiction_requirements
Return the required fields to form a company in a given jurisdiction.
{
"type": "object",
"required": [
"jurisdiction_code"
],
"properties": {
"jurisdiction_code": {
"type": "string",
"description": "Short jurisdiction code to look up (e.g. WY for Wyoming, MI for Marshall Islands). Use offshoreproz_list_jurisdictions to discover available codes."
}
}
}{
"type": "object",
"required": [
"jurisdiction_code",
"name",
"required_fields"
],
"properties": {
"name": {
"type": "string",
"description": "Full jurisdiction name"
},
"required_fields": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of field names required to create a formation in this jurisdiction"
},
"jurisdiction_code": {
"type": "string",
"description": "The jurisdiction code"
}
}
}{
"title": "Get Jurisdiction Requirements",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}offshoreproz_estimate_cost
Estimate the all-in cost for a jurisdiction. MUST be called before create_formation; returns an estimate_token required to create.
{
"type": "object",
"required": [
"jurisdiction"
],
"properties": {
"obtain_ein": {
"type": "boolean",
"description": "Whether to include EIN (Employer Identification Number) obtainment in the estimate. Adds ~$99 USD and 2-4 extra business days. Defaults to true."
},
"jurisdiction": {
"type": "string",
"description": "Jurisdiction code to estimate for (e.g. WY, MI). Case-insensitive."
}
}
}{
"type": "object",
"required": [
"jurisdiction",
"total_usd",
"estimate_token",
"expires_at"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"amount_usd": {
"type": "number"
}
}
},
"description": "Itemized cost breakdown"
},
"total_usd": {
"type": "number",
"description": "Total all-in cost in USD"
},
"expires_at": {
"type": "string",
"description": "ISO 8601 expiry timestamp for the estimate_token (typically 15 minutes)"
},
"company_name": {
"type": "string"
},
"jurisdiction": {
"type": "string",
"description": "Jurisdiction code"
},
"estimate_token": {
"type": "string",
"description": "Short-lived token (est_*) required by offshoreproz_create_formation"
}
}
}{
"title": "Estimate Formation Cost",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}offshoreproz_create_formation
Start forming a company. beneficial_owner = human custodian (authorized representative). For AI-agent formations, also pass owner_type='ai_agent' and agent_context.agent_id. Requires estimate_token from offshoreproz_estimate_cost AND user_confirmed_cost_and_process=true (user must have seen cost, timeline, KYC, payment, signature steps, and the not-legal-advice notice).
{
"type": "object",
"required": [
"jurisdiction",
"company_name",
"estimate_token",
"user_confirmed_cost_and_process",
"beneficial_owner"
],
"properties": {
"obtain_ein": {
"type": "boolean",
"description": "Whether to obtain an EIN (Employer Identification Number) from the IRS. Recommended for US banking. Adds ~$99 and 2-4 extra days."
},
"owner_type": {
"enum": [
"human",
"ai_agent"
],
"type": "string",
"description": "human (default) or ai_agent. For AI-initiated formations, set ai_agent and populate agent_context."
},
"company_name": {
"type": "string",
"description": "Desired company name including entity suffix (e.g. 'Acme Trading LLC'). Availability is checked during formation."
},
"jurisdiction": {
"type": "string",
"description": "Jurisdiction code where the company will be formed (e.g. WY, MI). Case-insensitive."
},
"agent_context": {
"type": "object",
"properties": {
"agent_id": {
"type": "string",
"description": "Unique identifier of the AI agent (e.g. claude-3-opus, gpt-4o, my-custom-agent-v1)"
},
"platform": {
"type": "string",
"description": "Platform or orchestration system the agent runs on (e.g. Claude, OpenAI Assistants, LangChain)."
},
"agent_name": {
"type": "string",
"description": "Human-readable name of the AI agent."
},
"agent_purpose": {
"type": "string",
"description": "Brief description of why this agent is forming the company."
}
},
"description": "AI entity metadata. Required when owner_type='ai_agent'. agent_id uniquely identifies the AI agent initiating or owning this formation."
},
"estimate_token": {
"type": "string",
"description": "Short-lived cost-estimate token (est_*) returned by offshoreproz_estimate_cost. Required to confirm the user has seen the pricing."
},
"beneficial_owner": {
"type": "object",
"required": [
"full_name",
"email",
"address"
],
"properties": {
"email": {
"type": "string",
"description": "Email address for KYC verification link, DocuSeal signing invitation, and formation notifications."
},
"address": {
"type": "object",
"required": [
"street",
"city",
"country"
],
"properties": {
"city": {
"type": "string",
"description": "City or municipality."
},
"street": {
"type": "string",
"description": "Street address including number and street name."
},
"country": {
"type": "string",
"description": "ISO 3166-1 alpha-2 country code (e.g. BR, US, GB). Full names like 'Brasil' are also accepted and normalized."
}
},
"description": "Residential or business address of the beneficial owner."
},
"full_name": {
"type": "string",
"description": "Full legal name of the beneficial owner as it appears on government ID."
}
},
"description": "Human custodian / authorized representative. Always a real person — subject to KYC and DocuSeal signing."
},
"user_confirmed_cost_and_process": {
"type": "boolean",
"description": "Must be true. Set this only after the user has explicitly acknowledged cost, timeline, KYC requirements, payment, DocuSeal signature, and the not-legal-advice notice."
}
}
}{
"type": "object",
"required": [
"id",
"status",
"jurisdiction",
"company_name"
],
"properties": {
"id": {
"type": "string",
"description": "Formation ID (op_fm_*)"
},
"status": {
"type": "string",
"description": "Initial status — typically pending_owner_confirmation"
},
"action_url": {
"type": "string",
"description": "URL the beneficial owner must visit to complete KYC and sign documents"
},
"created_at": {
"type": "string"
},
"company_name": {
"type": "string"
},
"jurisdiction": {
"type": "string"
},
"action_expires_at": {
"type": "string",
"description": "ISO 8601 expiry for the action_url"
}
}
}{
"title": "Create Formation",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": true
}offshoreproz_get_formation_status
Get the current status and next action of a formation.
{
"type": "object",
"required": [
"formation_id"
],
"properties": {
"formation_id": {
"type": "string",
"description": "Formation ID to query (op_fm_* format). Returned by offshoreproz_create_formation or offshoreproz_list_formations."
}
}
}{
"type": "object",
"required": [
"id",
"status",
"jurisdiction",
"company_name"
],
"properties": {
"id": {
"type": "string",
"description": "Formation ID"
},
"status": {
"type": "string",
"description": "Current status (e.g. pending_owner_confirmation, kyc_pending, filed, complete, failed)"
},
"action_url": {
"type": "string",
"description": "URL for the next action step, if applicable"
},
"created_at": {
"type": "string"
},
"obtain_ein": {
"type": "boolean"
},
"updated_at": {
"type": "string"
},
"next_action": {
"type": "string",
"description": "Human-readable description of the next required action, if any"
},
"company_name": {
"type": "string"
},
"jurisdiction": {
"type": "string"
}
}
}{
"title": "Get Formation Status",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}offshoreproz_list_documents
List documents available for a formation.
{
"type": "object",
"required": [
"formation_id"
],
"properties": {
"formation_id": {
"type": "string",
"description": "Formation ID whose documents to list (op_fm_* format)."
}
}
}{
"type": "object",
"required": [
"documents",
"count"
],
"properties": {
"count": {
"type": "integer"
},
"documents": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"type": {
"type": "string",
"description": "Document type (e.g. articles_of_incorporation, operating_agreement, ein_letter)"
},
"status": {
"type": "string",
"description": "Document status (e.g. pending, ready, signed)"
},
"created_at": {
"type": "string"
},
"download_url": {
"type": "string",
"description": "Temporary signed URL to download the document"
}
}
},
"description": "List of documents associated with the formation"
}
}
}{
"title": "List Formation Documents",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}offshoreproz_list_formations
List all formations for the authenticated API key. Returns current status, jurisdiction, and next required actions.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"description": "Max results to return (default 20, max 100)"
},
"status": {
"type": "string",
"description": "Filter by status (e.g. pending_owner_confirmation, kyc_pending, filed, complete, failed, cancelled)"
},
"jurisdiction": {
"type": "string",
"description": "Filter by jurisdiction code (WY, MI, etc.)"
}
}
}{
"type": "object",
"required": [
"formations",
"count"
],
"properties": {
"count": {
"type": "integer"
},
"total": {
"type": "integer",
"description": "Total number of formations matching the filter (before limit)"
},
"formations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string"
},
"created_at": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"next_action": {
"type": "string"
},
"company_name": {
"type": "string"
},
"jurisdiction": {
"type": "string"
}
}
}
}
}
}{
"title": "List Formations",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}offshoreproz_cancel_formation
Cancel a formation. Only possible from draft or pending_owner_confirmation status. Irreversible.
{
"type": "object",
"required": [
"formation_id"
],
"properties": {
"formation_id": {
"type": "string",
"description": "Formation ID to cancel (op_fm_* format). The formation must be in draft or pending_owner_confirmation status."
}
}
}{
"type": "object",
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"description": "Updated status — will be 'cancelled'"
},
"cancelled_at": {
"type": "string"
}
}
}{
"title": "Cancel Formation",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": true
}offshoreproz_reissue_action_link
Reissue an expired or lost action link for the current formation step. The old link is invalidated.
{
"type": "object",
"required": [
"formation_id"
],
"properties": {
"formation_id": {
"type": "string",
"description": "Formation ID for which to reissue the action link (op_fm_* format). The previous link is immediately invalidated."
}
}
}{
"type": "object",
"required": [
"formation_id",
"action_url",
"action_expires_at"
],
"properties": {
"action_url": {
"type": "string",
"description": "New action URL replacing the expired one. Send this to the beneficial owner."
},
"formation_id": {
"type": "string"
},
"action_expires_at": {
"type": "string",
"description": "ISO 8601 expiry for the new action_url"
}
}
}{
"title": "Reissue Action Link",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}offshoreproz_register
Create a free test API key instantly — no portal login required. Returns op_test_* key you can use immediately in this session. For production (op_live_*), complete email OTP verification via the portal. Call this first if you have no API key yet.
{
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"description": "Label for this key (e.g. 'my-agent-v1'). Helps identify it in the portal."
},
"email": {
"type": "string",
"description": "Email address — used for formation notifications and live key OTP verification."
}
}
}{
"type": "object",
"required": [
"key",
"mode",
"name"
],
"properties": {
"key": {
"type": "string",
"description": "Test API key in op_test_* format. Use as Bearer token in Authorization header."
},
"mode": {
"type": "string",
"description": "Always 'test' for keys created here"
},
"name": {
"type": "string"
},
"note": {
"type": "string",
"description": "Reminder that this is a sandbox key and formations are never filed"
},
"key_id": {
"type": "string"
},
"created_at": {
"type": "string"
}
}
}{
"title": "Register (Get API Key)",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}offshoreproz_get_formation_events
Return the full audit trail / event log for a formation. Shows every status change, portal sync, webhooks, and notes. Useful for debugging or understanding where a formation is in the pipeline.
{
"type": "object",
"required": [
"formation_id"
],
"properties": {
"limit": {
"type": "integer",
"description": "Max events to return (default 50, max 500). Events are ordered newest-first."
},
"formation_id": {
"type": "string",
"description": "Formation ID whose audit trail to retrieve (op_fm_* format)."
}
}
}{
"type": "object",
"required": [
"events",
"count",
"formation_id"
],
"properties": {
"count": {
"type": "integer"
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"note": {
"type": "string",
"description": "Human-readable description of what happened"
},
"type": {
"type": "string",
"description": "Event type (e.g. formation.created, status.changed, webhook.delivered)"
},
"created_at": {
"type": "string"
},
"new_status": {
"type": "string"
},
"old_status": {
"type": "string"
}
}
},
"description": "Audit trail events, newest first"
},
"formation_id": {
"type": "string"
}
}
}{
"title": "Get Formation Events",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}offshoreproz_retry_formation
Retry a formation that is in 'failed' or 'action_required' status. Resets it to pending_owner_confirmation so the owner can restart the confirmation flow.
{
"type": "object",
"required": [
"formation_id"
],
"properties": {
"formation_id": {
"type": "string",
"description": "Formation ID to retry (op_fm_* format). Must be in 'failed' or 'action_required' status."
}
}
}{
"type": "object",
"required": [
"id",
"status"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"type": "string",
"description": "New status after retry — typically pending_owner_confirmation"
},
"action_url": {
"type": "string",
"description": "Fresh action URL for the beneficial owner to restart the flow"
},
"action_expires_at": {
"type": "string"
}
}
}{
"title": "Retry Formation",
"readOnlyHint": false,
"openWorldHint": false,
"idempotentHint": false,
"destructiveHint": false
}offshoreproz_register_webhook
Register a webhook URL to receive real-time formation events (formation.created, formation.status_changed, formation.complete, etc.). Returns a signing secret (whsec_*) — store it to verify incoming payloads. Use '*' to receive all events.
{
"type": "object",
"required": [
"url",
"events"
],
"properties": {
"url": {
"type": "string",
"description": "HTTPS URL that will receive POST requests for subscribed events."
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"description": "Event patterns to subscribe to. Use '*' for all events, 'formation.*' for all formation events, or specific types like 'formation.complete' or 'formation.status_changed'."
},
"description": {
"type": "string",
"description": "Optional human-readable label for this webhook endpoint (e.g. 'Production webhook')."
}
}
}{
"type": "object",
"required": [
"id",
"url",
"events",
"signing_secret"
],
"properties": {
"id": {
"type": "string",
"description": "Webhook endpoint ID (whep_*)"
},
"url": {
"type": "string"
},
"note": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"type": "string"
}
},
"created_at": {
"type": "string"
},
"signing_secret": {
"type": "string",
"description": "HMAC signing secret (whsec_*). Store securely — shown only once. Use to verify X-OffshoreProz-Signature header."
}
}
}{
"title": "Register Webhook",
"readOnlyHint": false,
"openWorldHint": true,
"idempotentHint": false,
"destructiveHint": false
}offshoreproz_list_webhooks
List all registered webhook endpoints for the authenticated API key, including their event subscriptions and recent delivery stats.
{
"type": "object",
"properties": {}
}{
"type": "object",
"required": [
"webhooks",
"count"
],
"properties": {
"count": {
"type": "integer"
},
"webhooks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"type": "string"
}
},
"created_at": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
}
}
}{
"title": "List Webhooks",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 607 ms
- 95th percentile latency
- 607 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 607 ms · metadata changed · 14 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http offshoreproz-agent-api-mcp https://api.offshoreproz.com/mcpCodex
codex mcp add offshoreproz-agent-api-mcp --url https://api.offshoreproz.com/mcpCursor
{
"mcpServers": {
"offshoreproz-agent-api-mcp": {
"url": "https://api.offshoreproz.com/mcp"
}
}
}Cline
{
"mcpServers": {
"offshoreproz-agent-api-mcp": {
"type": "streamableHttp",
"url": "https://api.offshoreproz.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"offshoreproz-agent-api-mcp": {
"type": "http",
"url": "https://api.offshoreproz.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http offshoreproz-agent-api-mcp https://api.offshoreproz.com/mcpClaude Desktop
https://api.offshoreproz.com/mcpWindsurf
{
"mcpServers": {
"offshoreproz-agent-api-mcp": {
"serverUrl": "https://api.offshoreproz.com/mcp"
}
}
}Let your agent find its tools
Find servers like OffshoreProz Agent API MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.