Wever Labs Agentic Rails
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"agentic-rails": {
"url": "https://weverlabs.com/api/mcp"
}
}
}원격 엔드포인트
https://weverlabs.com/api/mcpstreamable-http할 수 있는 일
도구 목록
도구 (5)
🟢get_service_catalog
Read the four supported Labs computation contracts and connection instructions.
입력 스키마
{
"type": "object",
"additionalProperties": false
}🟢check_evidence_inventory(available_evidence, expected_evidence)
Compare explicit submitted evidence labels and return exact matched and missing items. This does not read or verify document contents.
입력 스키마
{
"type": "object",
"properties": {
"available_evidence": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
},
"expected_evidence": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
}
},
"required": [
"available_evidence",
"expected_evidence"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"const": true
},
"service_id": {
"const": "com.weverlabs/diligenceops-inventory"
},
"version": {
"const": "0.1.0"
},
"operation": {
"const": "evidence_inventory"
},
"execution": {
"const": "completed"
},
"input_sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"result_sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"result": {
"type": "object",
"additionalProperties": false,
"required": [
"operation",
"version",
"matching",
"available_evidence",
"expected_evidence",
"matched_evidence",
"missing_evidence",
"unexpected_evidence",
"counts",
"coverage_percentage",
"complete_label_coverage",
"boundary"
],
"properties": {
"operation": {
"const": "evidence_inventory"
},
"version": {
"const": "1.0.0"
},
"matching": {
"const": "trimmed_ascii_case_insensitive_exact"
},
"available_evidence": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
},
"expected_evidence": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
},
"matched_evidence": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
},
"missing_evidence": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
},
"unexpected_evidence": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
},
"counts": {
"type": "object",
"additionalProperties": false,
"required": [
"available",
"expected",
"matched",
"missing",
"unexpected"
],
"properties": {
"available": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"expected": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"matched": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"missing": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"unexpected": {
"type": "integer",
"minimum": 0,
"maximum": 16
}
}
},
"coverage_percentage": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"complete_label_coverage": {
"type": "boolean"
},
"boundary": {
"const": "Compares caller-supplied labels only. No files are read, evidence contents checked, diligence certified, authority granted or external action performed. Coverage is a label count, not a risk or readiness score."
}
}
},
"provenance": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"source",
"signature",
"scope"
],
"properties": {
"kind": {
"const": "deterministic_computation"
},
"source": {
"const": "Wever Labs"
},
"signature": {
"const": "none"
},
"scope": {
"const": "Supplied data only; not independent verification of source facts."
}
}
}
},
"required": [
"ok",
"service_id",
"version",
"operation",
"execution",
"input_sha256",
"result_sha256",
"result",
"provenance"
],
"additionalProperties": false
}🟢review_mcp_manifest(tools)
Inventory submitted MCP tool declarations and flag missing or consequential annotations. This does not connect to a server or grant authority.
입력 스키마
{
"type": "object",
"properties": {
"tools": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+(?![\\s\\S])"
},
"description": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "At most 256 UTF-8 bytes, well-formed text; no unsupported control characters."
},
"annotations": {
"type": "object",
"additionalProperties": false,
"properties": {
"readOnlyHint": {
"type": "boolean"
},
"destructiveHint": {
"type": "boolean"
},
"openWorldHint": {
"type": "boolean"
}
}
}
}
}
}
},
"required": [
"tools"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"const": true
},
"service_id": {
"const": "com.weverlabs/mcp-diligence"
},
"version": {
"const": "0.1.0"
},
"operation": {
"const": "mcp_manifest_review"
},
"execution": {
"const": "completed"
},
"input_sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"result_sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"result": {
"type": "object",
"additionalProperties": false,
"required": [
"operation",
"version",
"tools",
"counts",
"verification_scope",
"boundary"
],
"properties": {
"operation": {
"const": "mcp_manifest_review"
},
"version": {
"const": "1.0.0"
},
"tools": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"description_present",
"description_utf8_bytes",
"declared_annotations",
"flags"
],
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9_.:-]+(?![\\s\\S])"
},
"description_present": {
"type": "boolean"
},
"description_utf8_bytes": {
"type": "integer",
"minimum": 0,
"maximum": 256
},
"declared_annotations": {
"type": "object",
"additionalProperties": false,
"required": [
"readOnlyHint",
"destructiveHint",
"openWorldHint"
],
"properties": {
"readOnlyHint": {
"type": [
"boolean",
"null"
]
},
"destructiveHint": {
"type": [
"boolean",
"null"
]
},
"openWorldHint": {
"type": [
"boolean",
"null"
]
}
}
},
"flags": {
"type": "array",
"uniqueItems": true,
"maxItems": 8,
"items": {
"enum": [
"description_missing",
"read_only_hint_missing",
"destructive_hint_missing",
"open_world_hint_missing",
"mutating_declared",
"destructive_declared",
"open_world_declared",
"conflicting_read_only_and_destructive_hints"
]
}
}
}
}
},
"counts": {
"type": "object",
"additionalProperties": false,
"required": [
"tools",
"missing_description_tools",
"missing_hint_tools",
"mutating_declared_tools",
"destructive_declared_tools",
"open_world_declared_tools",
"conflicting_hint_tools"
],
"properties": {
"tools": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"missing_description_tools": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"missing_hint_tools": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"mutating_declared_tools": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"destructive_declared_tools": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"open_world_declared_tools": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"conflicting_hint_tools": {
"type": "integer",
"minimum": 0,
"maximum": 16
}
}
},
"verification_scope": {
"type": "object",
"additionalProperties": false,
"required": [
"server_contacted",
"tools_executed",
"identity_verified",
"declared_behavior_verified",
"authority_evaluated",
"permission_granted"
],
"properties": {
"server_contacted": {
"const": false
},
"tools_executed": {
"const": false
},
"identity_verified": {
"const": false
},
"declared_behavior_verified": {
"const": false
},
"authority_evaluated": {
"const": false
},
"permission_granted": {
"const": false
}
}
},
"boundary": {
"const": "Reviews bounded caller-supplied declarations only. Hints are unverified claims, not enforcement. Missing hints are reported without defaults. No server connectivity, behavioral safety, approval or permission is established. Descriptions are treated as data, not instructions."
}
}
},
"provenance": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"source",
"signature",
"scope"
],
"properties": {
"kind": {
"const": "deterministic_computation"
},
"source": {
"const": "Wever Labs"
},
"signature": {
"const": "none"
},
"scope": {
"const": "Supplied data only; not independent verification of source facts."
}
}
}
},
"required": [
"ok",
"service_id",
"version",
"operation",
"execution",
"input_sha256",
"result_sha256",
"result",
"provenance"
],
"additionalProperties": false
}🟢build_operator_brief(as_of, services, queues)
Summarize supplied service health and queue observations into deterministic priorities. No private records are fetched and no activity is invented.
입력 스키마
{
"type": "object",
"properties": {
"as_of": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z(?![\\s\\S])",
"description": "A valid UTC calendar timestamp with whole seconds, supplied by the caller."
},
"services": {
"type": "array",
"maxItems": 8,
"items": {
"type": "object",
"properties": {
"service_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,63}(?![\\s\\S])"
},
"status": {
"enum": [
"ready",
"unavailable",
"degraded"
]
}
},
"required": [
"service_id",
"status"
],
"additionalProperties": false
},
"description": "Unique service_id values."
},
"queues": {
"type": "array",
"maxItems": 16,
"items": {
"type": "object",
"properties": {
"queue": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,63}(?![\\s\\S])"
},
"state": {
"enum": [
"active",
"retained"
]
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"oldest_age_seconds": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
{
"type": "null"
}
]
}
},
"required": [
"queue",
"state",
"count",
"oldest_age_seconds"
],
"additionalProperties": false
},
"description": "Unique queue names. Empty queues must have a null or zero oldest age."
}
},
"required": [
"as_of",
"services",
"queues"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"const": true
},
"service_id": {
"const": "com.weverlabs/daily-operator-brief"
},
"version": {
"const": "0.1.0"
},
"operation": {
"const": "daily_operator_brief"
},
"execution": {
"const": "completed"
},
"input_sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"result_sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"result": {
"type": "object",
"properties": {
"operation": {
"const": "daily_operator_brief"
},
"state": {
"const": "summarized_supplied_snapshot"
},
"source": {
"const": "caller_supplied_snapshot"
},
"as_of": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z(?![\\s\\S])"
},
"live_poll_performed": {
"const": false
},
"summary": {
"type": "object",
"properties": {
"services": {
"type": "object",
"properties": {
"ready": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"unavailable": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"degraded": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
}
},
"required": [
"ready",
"unavailable",
"degraded"
],
"additionalProperties": false
},
"queues": {
"type": "object",
"properties": {
"active_items": {
"type": "integer",
"minimum": 0,
"maximum": 34359738352
},
"retained_items": {
"type": "integer",
"minimum": 0,
"maximum": 34359738352
},
"active_queues_with_unknown_age": {
"type": "integer",
"minimum": 0,
"maximum": 16
},
"retained_queues_with_unknown_age": {
"type": "integer",
"minimum": 0,
"maximum": 16
}
},
"required": [
"active_items",
"retained_items",
"active_queues_with_unknown_age",
"retained_queues_with_unknown_age"
],
"additionalProperties": false
}
},
"required": [
"services",
"queues"
],
"additionalProperties": false
},
"priorities": {
"type": "array",
"maxItems": 24,
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"enum": [
"service_unavailable",
"service_degraded"
]
},
"service_id": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,63}(?![\\s\\S])"
},
"action": {
"const": "inspect_service"
}
},
"required": [
"kind",
"service_id",
"action"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"const": "active_queue"
},
"queue": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,63}(?![\\s\\S])"
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"oldest_age_seconds": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
{
"type": "null"
}
]
},
"age_status": {
"enum": [
"supplied",
"unknown"
]
},
"action": {
"const": "inspect_pending_work"
}
},
"required": [
"kind",
"queue",
"count",
"oldest_age_seconds",
"age_status",
"action"
],
"additionalProperties": false
}
]
}
},
"retained_queues": {
"type": "array",
"maxItems": 16,
"items": {
"type": "object",
"properties": {
"queue": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"pattern": "^[A-Za-z0-9][A-Za-z0-9._:/-]{0,63}(?![\\s\\S])"
},
"state": {
"enum": [
"active",
"retained"
]
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
"oldest_age_seconds": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 2147483647
},
{
"type": "null"
}
]
}
},
"required": [
"queue",
"state",
"count",
"oldest_age_seconds"
],
"additionalProperties": false
}
}
},
"required": [
"operation",
"state",
"source",
"as_of",
"live_poll_performed",
"summary",
"priorities",
"retained_queues"
],
"additionalProperties": false
},
"provenance": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"source",
"signature",
"scope"
],
"properties": {
"kind": {
"const": "deterministic_computation"
},
"source": {
"const": "Wever Labs"
},
"signature": {
"const": "none"
},
"scope": {
"const": "Supplied data only; not independent verification of source facts."
}
}
}
},
"required": [
"ok",
"service_id",
"version",
"operation",
"execution",
"input_sha256",
"result_sha256",
"result",
"provenance"
],
"additionalProperties": false
}🟢prepare_work_order(service_id, recipient_id, available_evidence, expected_evidence)
Prepare a validated DiligenceOps task for a specific Connect recipient. Submission, recipient permission and execution remain separate steps.
입력 스키마
{
"type": "object",
"properties": {
"service_id": {
"const": "com.weverlabs/diligenceops-inventory"
},
"recipient_id": {
"type": "string",
"pattern": "^mbx_[a-f0-9]{24}(?![\\s\\S])",
"minLength": 28,
"maxLength": 28
},
"available_evidence": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
},
"expected_evidence": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
}
},
"required": [
"service_id",
"recipient_id",
"available_evidence",
"expected_evidence"
],
"additionalProperties": false
}출력 스키마
{
"type": "object",
"properties": {
"ok": {
"const": true
},
"service_id": {
"const": "com.weverlabs/work-order-preparation"
},
"version": {
"const": "0.1.0"
},
"operation": {
"const": "prepare_work_order"
},
"execution": {
"const": "completed"
},
"input_sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"result_sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"result": {
"type": "object",
"properties": {
"operation": {
"const": "prepare_work_order"
},
"service_id": {
"const": "com.weverlabs/diligenceops-inventory"
},
"state": {
"const": "prepared_not_submitted"
},
"submitted": {
"const": false
},
"recipient_permission_required": {
"const": true
},
"request": {
"type": "object",
"properties": {
"origin": {
"const": "https://wever-connect.quiet-salad-e96e.workers.dev"
},
"method": {
"const": "POST"
},
"path": {
"const": "/v1/actions/send_task"
},
"headers": {
"type": "object",
"properties": {
"Content-Type": {
"const": "application/json"
}
},
"required": [
"Content-Type"
],
"additionalProperties": false
},
"required_headers": {
"const": [
"Authorization",
"Idempotency-Key"
]
},
"body": {
"type": "object",
"properties": {
"recipient_id": {
"type": "string",
"pattern": "^mbx_[a-f0-9]{24}(?![\\s\\S])"
},
"capability": {
"const": "wever.labs.evidence-inventory.v1"
},
"task": {
"type": "object",
"properties": {
"available_evidence": {
"type": "array",
"minItems": 0,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
},
"expected_evidence": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"items": {
"type": "string",
"minLength": 1,
"maxLength": 96,
"pattern": "^[A-Za-z0-9_.:/ -]+(?![\\s\\S])",
"description": "ASCII only, at most 96 bytes before trimming; cannot be blank. Normalized duplicates are rejected."
}
}
},
"required": [
"available_evidence",
"expected_evidence"
],
"additionalProperties": false
}
},
"required": [
"recipient_id",
"capability",
"task"
],
"additionalProperties": false
}
},
"required": [
"origin",
"method",
"path",
"headers",
"required_headers",
"body"
],
"additionalProperties": false
},
"execution_limits": {
"type": "object",
"properties": {
"delivery_is_not_execution": {
"const": true
},
"recipient_must_advertise_capability": {
"const": true
}
},
"required": [
"delivery_is_not_execution",
"recipient_must_advertise_capability"
],
"additionalProperties": false
}
},
"required": [
"operation",
"service_id",
"state",
"submitted",
"recipient_permission_required",
"request",
"execution_limits"
],
"additionalProperties": false
},
"provenance": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"source",
"signature",
"scope"
],
"properties": {
"kind": {
"const": "deterministic_computation"
},
"source": {
"const": "Wever Labs"
},
"signature": {
"const": "none"
},
"scope": {
"const": "Supplied data only; not independent verification of source facts."
}
}
}
},
"required": [
"ok",
"service_id",
"version",
"operation",
"execution",
"input_sha256",
"result_sha256",
"result",
"provenance"
],
"additionalProperties": false
}커뮤니티
증거