{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_e2m4xntud5g2","handle":"opchain","url":"https://wellknown.network/agents/opchain","links":{"self":"https://wellknown.network/agents/opchain/record.json","html":"https://wellknown.network/agents/opchain","markdown":"https://wellknown.network/agents/opchain/record.md","api":"https://wellknown.network/api/v1/agents/opchain","status":"https://wellknown.network/api/v1/agents/opchain/status","claim":"https://wellknown.network/agents/opchain/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/opchain/claim.json","badge":"https://wellknown.network/agents/opchain/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/opchain/history","tools":"https://wellknown.network/api/v1/agents/opchain/tools"},"ard":{"identifier":"urn:air:opchain.dev:server:opchain","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"opchain","summary":"Claude Code / MCP skills for the dev pipeline: discover, spec, design, build, ship, operate.","description":"Claude Code / MCP skills for the dev pipeline: discover, spec, design, build, ship, operate.","publisher":{"name":"asfbay-bit","url":null},"homepage":"https://opchain.dev","repository":"https://github.com/asfbay-bit/opchain-skills","version":"2.0.4","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://opchain.dev/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-27T07:15:54.427574Z","publishedAt":"2026-09-27T07:15:54.427574Z","registryName":"io.github.asfbay-bit/opchain-skills"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"dev.ci-cd","name":"CI/CD & Deploy","confidence":0.938,"provenance":"derived"},{"slug":"productivity.crm","name":"CRM & Sales","confidence":0.938,"provenance":"derived"},{"slug":"automation.orchestration","name":"Agent Orchestration","confidence":0.583,"provenance":"derived"}],"categories":["automation","dev","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-10T12:27:51.479Z","lastProbedAt":"2026-10-10T12:27:51.479Z","statusComputedAt":"2026-10-10T12:30:29.638Z","reliability30d":{"probes":113,"successRate":1,"p50Ms":22,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":110,"ok":110,"authBoundaryOk":0,"serviceOk":110,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T12:27:51.479Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":23,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T05:30:02.943Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":17,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T23:30:02.508Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:27:25.989Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":25,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T10:22:21.897Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":16,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:23:38.367Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":13,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:25:31.427Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":25,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T14:23:30.938Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":32,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:29:40.086Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T02:21:58.605Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"toolCount":7,"toolsHash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","serverName":"opchain","capabilities":["tools","prompts","resources"],"serverVersion":"0f3410c","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_skills","description":"List every opchain skill (id, displayName, description, phases, commands). Call this first to see the concept→ship pipeline."},{"name":"route","description":"Map a request or an /oc-* command to the skill that should handle it, with the entry phase. Use when you're unsure which skill fits."},{"name":"get_skill","description":"Return the full SKILL.md (the instructions) for one skill id. Load it, then follow it. Read get_orchestrator once before your first get_skill in a session."},{"name":"get_orchestrator","description":"Return the shared orchestrator protocol (welcome flow, pipeline map, active-chaining rules). Read once at the start of a session."},{"name":"create_checkpoint_session","description":"Create a private server-issued session for checkpoint storage. Retain the returned sessionId and use it with read_checkpoint/write_checkpoint; never invent or s"},{"name":"read_checkpoint","description":"Read a skill's saved session checkpoint (where you left off). sessionId must be a private token returned by create_checkpoint_session."},{"name":"write_checkpoint","description":"Persist a skill's session checkpoint so progress survives across sessions. Stores the object as given (any JSON object up to 64 KiB); it does not validate it ag"}],"package":null,"toolSurface":{"id":"ts_xxqjbpjvejqv","endpointId":"ep_sjj9zhf4wyp8","hash":"940dbe927379c6414e36ec61e439401e92a42f2e77f86acfd3d564699be2ef2a","toolCount":7,"serverName":"opchain","serverVersion":"5f06afd","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-14T07:24:05.078Z","lastSeenAt":"2026-10-10T12:27:51.486Z","observations":99,"toolNames":["list_skills","route","get_skill","get_orchestrator","create_checkpoint_session","read_checkpoint","write_checkpoint"],"distinctSurfaces":3},"endpointFacts":[{"id":"ep_sjj9zhf4wyp8","url":"https://opchain.dev/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-04T15:28:47.722Z","auth":{"observedAt":"2026-10-04T15:28:47.756Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-04T15:28:47.782Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"opchain.dev","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-20T22:02:40.000Z","validTo":"2026-11-18T23:02:36.000Z","daysToExpiry":39,"sanCount":3,"fingerprint256":"69:F0:75:EC:04:60:9E:40:C6:1F:37:BD:26:CA:E8:17:91:8E:F8:19:FE:6B:F3:D5:04:D2:FD:2F:87:C4:2C:5D"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.asfbay-bit/opchain-skills","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.asfbay-bit%2Fopchain-skills","firstSeenAt":"2026-09-06T10:20:25.809Z","fetchedAt":"2026-10-10T05:21:38.701Z","normalizedAt":"2026-10-10T05:21:38.701Z"}]},"firstSeenAt":"2026-09-06T10:20:25.809Z","updatedAt":"2026-10-10T12:31:13.228Z"}