Koskamo

Orbilyn MCP

An official MCP server that allows AI assistants to read product catalog consistency across connected e-commerce channels. It enables users to list integrations, find mismatches in price and stock, get monitoring alerts, and run catalog audits to ensure data accuracy across marketplaces and shops.

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.

Orbilyn MCP logo, by OrbilynVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Orbilyn
You need:Scale API key or OAuth 2.1 PKCEscopes read ⊂ write ⊂ action
MCP endpoint (Streamable HTTP)
https://app.orbilyn.com/api/mcp
Vendor documentation

What you can do with it

  • List connected e-commerce integrations
  • Find product price and stock mismatches
  • Get monitoring alerts for catalog drift
  • Run catalog audits and get health scores

Source and maintenance

Vendor evidenceRegistry 1.4.0
Maintenance checked

Protocol and capabilities

Server
orbilyn 1.4.0
MCP protocol
2025-03-26
Tools
21 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Orbilyn MCP for Scale. Authenticate with an account API key (Authorization: Bearer or X-Api-Key) or an OAuth 2.1 access token (PKCE). Scopes: read ⊂ write ⊂ action. Discovery: /.well-known/oauth-protected-resource and /.well-known/oauth-authorization-server.

Tools

21 advertised

list_integrations
Advertised by the server during the last successful anonymous check.

List Orbilyn channel integrations (metadata only, no secrets).

list_integrations input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
list_mismatches
Advertised by the server during the last successful anonymous check.

List mismatches from a comparison run (latest if runId omitted).

list_mismatches input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Max mismatches (default 50)"
    },
    "runId": {
      "type": "string",
      "description": "Comparison run UUID"
    }
  },
  "additionalProperties": false
}
get_monitoring_alerts
Advertised by the server during the last successful anonymous check.

Get unread Monitoring alerts (new mismatches from scheduled runs).

get_monitoring_alerts input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
find_product
Advertised by the server during the last successful anonymous check.

Find a product by SKU and/or EAN with stock and price per channel.

find_product input schema
{
  "type": "object",
  "properties": {
    "ean": {
      "type": "string"
    },
    "sku": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_comparison_summary
Advertised by the server during the last successful anonymous check.

Summaries of recent comparison / history runs (counts, labels).

get_comparison_summary input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Max runs (default 5)"
    }
  },
  "additionalProperties": false
}
catalog_health_score
Advertised by the server during the last successful anonymous check.

Catalog health score 0–100 with breakdown: photos, descriptions, prices, stock, duplicates, channel_consistency. Uses the latest comparison run (or setId) plus Overview media signals. Example: {"setId":"<uuid>"}.

catalog_health_score input schema
{
  "type": "object",
  "properties": {
    "setId": {
      "type": "string",
      "description": "Optional comparison run UUID (default: latest)"
    }
  },
  "additionalProperties": false
}
list_critical_issues
Advertised by the server during the last successful anonymous check.

List CatalogIssue rows sorted by impact (severity then type). Default severity=critical. Supports limit + offset pagination. Example: {"limit":20,"offset":0,"severity":"critical"}. Issue shape: sku, channel, type, severity, current, expected, suggested_action, detected_at, source_id, set_id.

list_critical_issues input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Page size (default 50, max 100)"
    },
    "setId": {
      "type": "string",
      "description": "Optional comparison run UUID"
    },
    "offset": {
      "type": "number",
      "description": "Offset (default 0)"
    },
    "severity": {
      "type": "string",
      "description": "critical | important | minor | all (default critical)"
    }
  },
  "additionalProperties": false
}
prepare_fix_list
Advertised by the server during the last successful anonymous check.

Prepare a CatalogIssue fix list as JSON (default) or CSV. Same schema as list_critical_issues. Example JSON: {"format":"json","limit":50}. Example CSV: {"format":"csv","severity":"all"}.

prepare_fix_list input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Page size (default 50, max 100)"
    },
    "setId": {
      "type": "string",
      "description": "Optional comparison run UUID"
    },
    "format": {
      "type": "string",
      "description": "json (default) or csv"
    },
    "offset": {
      "type": "number",
      "description": "Offset (default 0)"
    },
    "severity": {
      "type": "string",
      "description": "critical | important | minor | all (default all)"
    }
  },
  "additionalProperties": false
}
ai_readiness_report
Advertised by the server during the last successful anonymous check.

Shopping-agent readiness: catalog products agents would reject (missing GTIN/EAN, photos, description, attributes, price/stock) plus what to fill in. Shared CatalogIssue format. Every result includes rules_version, audit_date, checked_fields, profile (google_merchant). Example: {"profile":"google_merchant","limit":50}.

ai_readiness_report input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number",
      "description": "Page size (default 50, max 100)"
    },
    "offset": {
      "type": "number",
      "description": "Offset (default 0)"
    },
    "profile": {
      "type": "string",
      "description": "Audit profile (google_merchant now; others later)"
    }
  },
  "additionalProperties": false
}
explain_issue
Advertised by the server during the last successful anonymous check.

Per SKU: what shopping-agent readiness checks failed and why. Same meta envelope (rules_version, audit_date, checked_fields, profile) + CatalogIssue list + explanations. Example: {"sku":"SKU-100"}.

explain_issue input schema
{
  "type": "object",
  "required": [
    "sku"
  ],
  "properties": {
    "sku": {
      "type": "string",
      "description": "Product SKU / id / GTIN to explain"
    },
    "profile": {
      "type": "string",
      "description": "Audit profile (default google_merchant)"
    }
  },
  "additionalProperties": false
}
get_webhook_config
Advertised by the server during the last successful anonymous check.

Read Scale webhook subscription (URL, enabled, event catalog). Signing: X-Orbilyn-Signature HMAC-SHA256. Webhook sample items use the CatalogIssue schema (sku + type preserved; additive fields).

get_webhook_config input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
configure_webhook
Advertised by the server during the last successful anonymous check.

Configure outbound webhook URL/secret (requires write scope). Events: catalog.duplicate.new, catalog.drift.status, sync.failure, monitoring.*.

configure_webhook input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "https:// endpoint"
    },
    "secret": {
      "type": "string"
    },
    "enabled": {
      "type": "boolean"
    },
    "rotateSecret": {
      "type": "boolean"
    }
  },
  "additionalProperties": false
}
run_monitoring
Advertised by the server during the last successful anonymous check.

Trigger a Monitoring compare run now (requires action scope).

run_monitoring input schema
{
  "type": "object",
  "properties": {
    "pairId": {
      "type": "string",
      "description": "Optional pair UUID"
    }
  },
  "additionalProperties": false
}
start_catalog_audit
Advertised by the server during the last successful anonymous check.

Start a catalog audit over persisted comparison/Overview data (no live re-import; safe for large catalogs). Returns auditId + status. Result uses shared CatalogIssue format. Webhook: audit.completed. Requires action scope.

start_catalog_audit input schema
{
  "type": "object",
  "properties": {
    "setId": {
      "type": "string",
      "description": "Optional comparison run UUID (default: latest)"
    }
  },
  "additionalProperties": false
}
get_audit_status
Advertised by the server during the last successful anonymous check.

Poll async catalog audit status by auditId (pending|running|succeeded|failed).

get_audit_status input schema
{
  "type": "object",
  "required": [
    "auditId"
  ],
  "properties": {
    "auditId": {
      "type": "string",
      "description": "Audit UUID from start_catalog_audit"
    }
  },
  "additionalProperties": false
}
get_audit_result
Advertised by the server during the last successful anonymous check.

Fetch catalog audit result (CatalogIssue list + health). Paginate with limit/offset. Fails if audit is still pending/running.

get_audit_result input schema
{
  "type": "object",
  "required": [
    "auditId"
  ],
  "properties": {
    "limit": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "auditId": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
create_monitor
Advertised by the server during the last successful anonymous check.

Create a Scale Monitoring pair (Alerty/Automatyzacja). Params: sources, thresholds, issueTypes, actions (webhook|email|fix_list). Write scope.

create_monitor input schema
{
  "type": "object",
  "required": [
    "sourceIntegrationId",
    "targetIntegrationId"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "actions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "webhook|email|fix_list"
    },
    "enabled": {
      "type": "boolean"
    },
    "issueTypes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "price|stock|status|missing"
    },
    "thresholds": {
      "type": "object",
      "description": "mismatchCount, healthScoreDrop, ignorePriceBelowPercent, …"
    },
    "sourceIntegrationId": {
      "type": "string"
    },
    "targetIntegrationId": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
update_monitor
Advertised by the server during the last successful anonymous check.

Update an existing Monitoring pair (thresholds, sources, actions, enabled). Write scope.

update_monitor input schema
{
  "type": "object",
  "required": [
    "monitorId"
  ],
  "properties": {
    "name": {
      "type": "string"
    },
    "actions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "enabled": {
      "type": "boolean"
    },
    "monitorId": {
      "type": "string"
    },
    "issueTypes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "thresholds": {
      "type": "object"
    },
    "sourceIntegrationId": {
      "type": "string"
    },
    "targetIntegrationId": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
pause_monitor
Advertised by the server during the last successful anonymous check.

Pause (disable) a Monitoring pair. Write scope.

pause_monitor input schema
{
  "type": "object",
  "required": [
    "monitorId"
  ],
  "properties": {
    "monitorId": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
list_monitors
Advertised by the server during the last successful anonymous check.

List Scale Monitoring pairs configured for this account.

list_monitors input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
get_monitor_history
Advertised by the server during the last successful anonymous check.

Monitoring run history with deltas vs previous run (new / fixed / open) and CatalogIssue samples.

get_monitor_history input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number"
    },
    "monitorId": {
      "type": "string",
      "description": "Optional pair UUID filter"
    }
  },
  "additionalProperties": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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
1093 ms
95th percentile latency
1093 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1093 ms · metadata changed · 21 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http orbilyn-mcp https://app.orbilyn.com/api/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add orbilyn-mcp --url https://app.orbilyn.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable orbilyn-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "orbilyn-mcp": {
      "url": "https://app.orbilyn.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "orbilyn-mcp": {
      "type": "streamableHttp",
      "url": "https://app.orbilyn.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start orbilyn-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "orbilyn-mcp": {
      "type": "http",
      "url": "https://app.orbilyn.com/api/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http orbilyn-mcp https://app.orbilyn.com/api/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "orbilyn-mcp": {
      "url": "https://app.orbilyn.com/api/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "orbilyn-mcp": {
      "serverUrl": "https://app.orbilyn.com/api/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Orbilyn MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Orbilyn MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing