Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Fetch CircleCI job step logs from a gh pr checks URL circleci-logs $1 $1 $1 Fetch CircleCI job step logs from GitHub PR checks URLs. Lightweight CLI tool with TypeScript support and minimal dependencies. Requirements - Node.js >= 20.0.0 - CircleCI Personal Token Installation Global Install (Recommended) Accessing the Manual Page After global installation, the man page is available but may require adding npm's man directory to your MANPATH: Local Development Usage Basic Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
circleci-logs is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
Fetch CircleCI job step logs from a gh pr checks URL circleci-logs $1 $1 $1 Fetch CircleCI job step logs from GitHub PR checks URLs. Lightweight CLI tool with TypeScript support and minimal dependencies. Requirements - Node.js >= 20.0.0 - CircleCI Personal Token Installation Global Install (Recommended) Accessing the Manual Page After global installation, the man page is available but may require adding npm's man directory to your MANPATH: Local Development Usage Basic
Public facts
7
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Mkusaka
Artifacts
0
Benchmarks
0
Last release
0.0.10
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/mkusaka/circleci-logs.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Mkusaka
Protocol compatibility
MCP
Auth modes
mcp, api_key
Machine-readable schemas
OpenAPI or schema references published
Adoption signal
1 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# Install globally from npm npm i -g circleci-logs # Or using pnpm pnpm add -g circleci-logs
bash
# Option 1: Add to MANPATH (add to your shell profile for persistence) export MANPATH="$(npm config get prefix)/share/man:$MANPATH" man circleci-logs # Option 2: Use explicit path man -M $(npm config get prefix)/share/man circleci-logs
bash
# Clone the repository git clone https://github.com/mkusaka/circleci-logs.git cd circleci-logs # Install dependencies pnpm install # Build the project pnpm run build # Create a global link (optional) pnpm link --global
bash
# Set your CircleCI Personal Token export CIRCLE_TOKEN=xxxxx # Fetch logs - both formats work circleci-logs "https://circleci.com/gh/org/repo/12345" # Backward compatible circleci-logs logs "https://circleci.com/gh/org/repo/12345" # Explicit subcommand # Fetch test results circleci-logs tests "https://circleci.com/gh/org/repo/12345"
bash
# Fetch all logs from a CircleCI job URL circleci-logs logs "https://circleci.com/gh/org/repo/12345" # Or use the new UI URL format circleci-logs logs "https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc/jobs/12345" # For backward compatibility, you can omit 'logs' subcommand circleci-logs "https://circleci.com/gh/org/repo/12345" # Show only failed actions circleci-logs logs --errors-only "https://circleci.com/gh/org/repo/12345" # Filter logs with regex pattern circleci-logs logs --grep "ERROR|WARN" "https://circleci.com/gh/org/repo/12345" # Output as JSON circleci-logs logs --json "https://circleci.com/gh/org/repo/12345" # Exit with code 1 if there are errors circleci-logs logs --fail-on-error "https://circleci.com/gh/org/repo/12345" # Use a specific token (instead of env variable) circleci-logs logs --token "your-token" "https://circleci.com/gh/org/repo/12345" # Show verbose output for debugging circleci-logs logs --verbose "https://circleci.com/gh/org/repo/12345"
bash
# Show all test results circleci-logs tests "https://circleci.com/gh/org/repo/12345" # Show only failed tests circleci-logs tests --failed-only "https://circleci.com/gh/org/repo/12345" # Output test results as JSON circleci-logs tests --json "https://circleci.com/gh/org/repo/12345" # Filter tests by name/class/file with regex circleci-logs tests --grep "UserController" "https://circleci.com/gh/org/repo/12345" # Exit with code 1 if any tests failed circleci-logs tests --fail-on-test-failure "https://circleci.com/gh/org/repo/12345" # Combine with verbose mode for debugging circleci-logs tests --verbose --failed-only "https://circleci.com/gh/org/repo/12345"
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
Fetch CircleCI job step logs from a gh pr checks URL circleci-logs $1 $1 $1 Fetch CircleCI job step logs from GitHub PR checks URLs. Lightweight CLI tool with TypeScript support and minimal dependencies. Requirements - Node.js >= 20.0.0 - CircleCI Personal Token Installation Global Install (Recommended) Accessing the Manual Page After global installation, the man page is available but may require adding npm's man directory to your MANPATH: Local Development Usage Basic
Fetch CircleCI job step logs from GitHub PR checks URLs. Lightweight CLI tool with TypeScript support and minimal dependencies.
# Install globally from npm
npm i -g circleci-logs
# Or using pnpm
pnpm add -g circleci-logs
After global installation, the man page is available but may require adding npm's man directory to your MANPATH:
# Option 1: Add to MANPATH (add to your shell profile for persistence)
export MANPATH="$(npm config get prefix)/share/man:$MANPATH"
man circleci-logs
# Option 2: Use explicit path
man -M $(npm config get prefix)/share/man circleci-logs
# Clone the repository
git clone https://github.com/mkusaka/circleci-logs.git
cd circleci-logs
# Install dependencies
pnpm install
# Build the project
pnpm run build
# Create a global link (optional)
pnpm link --global
# Set your CircleCI Personal Token
export CIRCLE_TOKEN=xxxxx
# Fetch logs - both formats work
circleci-logs "https://circleci.com/gh/org/repo/12345" # Backward compatible
circleci-logs logs "https://circleci.com/gh/org/repo/12345" # Explicit subcommand
# Fetch test results
circleci-logs tests "https://circleci.com/gh/org/repo/12345"
logs - Fetch Job Logs (v1.1 API)# Fetch all logs from a CircleCI job URL
circleci-logs logs "https://circleci.com/gh/org/repo/12345"
# Or use the new UI URL format
circleci-logs logs "https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc/jobs/12345"
# For backward compatibility, you can omit 'logs' subcommand
circleci-logs "https://circleci.com/gh/org/repo/12345"
# Show only failed actions
circleci-logs logs --errors-only "https://circleci.com/gh/org/repo/12345"
# Filter logs with regex pattern
circleci-logs logs --grep "ERROR|WARN" "https://circleci.com/gh/org/repo/12345"
# Output as JSON
circleci-logs logs --json "https://circleci.com/gh/org/repo/12345"
# Exit with code 1 if there are errors
circleci-logs logs --fail-on-error "https://circleci.com/gh/org/repo/12345"
# Use a specific token (instead of env variable)
circleci-logs logs --token "your-token" "https://circleci.com/gh/org/repo/12345"
# Show verbose output for debugging
circleci-logs logs --verbose "https://circleci.com/gh/org/repo/12345"
tests - Fetch Test Results (v2 API)Fetch and display test results from CircleCI jobs (requires test results to be stored via store_test_results in your CircleCI config):
# Show all test results
circleci-logs tests "https://circleci.com/gh/org/repo/12345"
# Show only failed tests
circleci-logs tests --failed-only "https://circleci.com/gh/org/repo/12345"
# Output test results as JSON
circleci-logs tests --json "https://circleci.com/gh/org/repo/12345"
# Filter tests by name/class/file with regex
circleci-logs tests --grep "UserController" "https://circleci.com/gh/org/repo/12345"
# Exit with code 1 if any tests failed
circleci-logs tests --fail-on-test-failure "https://circleci.com/gh/org/repo/12345"
# Combine with verbose mode for debugging
circleci-logs tests --verbose --failed-only "https://circleci.com/gh/org/repo/12345"
Example output:
## [Test Results] Test Suite [failed]
✗ FAIL: spec/models/internal_api/clinics_operation/show_staffs/command_spec.rb
Class: spec.models.internal_api.clinics_operation.show_staffs.command_spec
Test: InternalApi::ClinicsOperation::ShowStaffs::Command.call when request is invalid id raises an error
Time: 0.437s
Failure/Error: expect { described_class.call(params) }.to raise_error(InternalApi::Errors::ResourceNotFoundError)
expected InternalApi::Errors::ResourceNotFoundError, got #<NameError: uninitialized constant...
Summary: 45 passed, 2 failed, 3 skipped (12.345s)
# Get the latest PR check URL and fetch its logs
gh pr checks --json link -q '.[].link' | head -n1 | xargs -n1 circleci-logs
# Show only error actions from the latest check
gh pr checks --json link -q '.[].link' | head -n1 | xargs -n1 circleci-logs --errors-only
# Get logs only from FAILED CircleCI checks
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | select(.name | contains("circleci")) | .link' | \
xargs -n1 circleci-logs --errors-only
# Process all failed checks (not just CircleCI)
gh pr checks --json state,link -q '.[] | select(.state=="FAILURE") | .link' | \
while read url; do
echo "Processing failed check: $url"
circleci-logs --errors-only "$url"
done
# Get logs from specific workflow by name
gh pr checks --json name,link -q '.[] | select(.name | contains("build")) | .link' | \
xargs -n1 circleci-logs
Monitor CI status for the current branch (without a PR):
# Get the latest workflow runs for current branch
gh run list --branch $(git branch --show-current) --json databaseId,status,conclusion,name | \
jq -r '.[] | select(.conclusion=="failure") | .databaseId' | \
while read run_id; do
# Get job URLs from the failed workflow
gh run view $run_id --json jobs | \
jq -r '.jobs[] | select(.conclusion=="failure") | .url' | \
while read job_url; do
circleci-logs --errors-only "$job_url"
done
done
# Monitor ongoing CI for current branch
watch -n 30 'gh run list --branch $(git branch --show-current) --limit 5'
# Get CircleCI logs for specific workflow run on branch
gh run view --json jobs | \
jq -r '.jobs[] | select(.name | contains("test")) | .url' | \
xargs -n1 circleci-logs
# Check all recent failures on a specific branch
gh run list --branch feature-branch --status failure --json databaseId | \
jq -r '.[].databaseId' | \
while read id; do
gh run view $id --json jobs | \
jq -r '.jobs[] | select(.conclusion=="failure") | .url' | \
xargs -n1 circleci-logs --errors-only
done
GitHub PR/workflow checks can have these states:
SUCCESS - Check passedFAILURE - Check failedPENDING - Check is still runningNEUTRAL - Check completed with neutral resultCANCELLED - Check was cancelledSKIPPED - Check was skippedTIMED_OUT - Check timed out# Get summary of all failed checks with their error logs
gh pr checks --json state,name,link -q '.[] | select(.state=="FAILURE")' | \
jq -r '"\(.name): \(.link)"' | \
while IFS=': ' read name url; do
echo "=== $name ==="
if [[ "$url" == *"circleci.com"* ]]; then
circleci-logs --errors-only "$url" | head -20
fi
done
# Check if any CircleCI jobs failed and get their logs
if gh pr checks --json state,name -q '.[] | select(.state=="FAILURE") | select(.name | contains("circleci"))' | jq -e '.' > /dev/null; then
echo "CircleCI checks failed. Fetching error logs..."
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | select(.name | contains("circleci")) | .link' | \
xargs -n1 circleci-logs --errors-only
fi
# Run in development mode
pnpm run dev <url>
# Type checking
pnpm run typecheck
# Linting
pnpm run lint
# Format code
pnpm run format
This tool uses both CircleCI API v1.1 and v2:
Uses CircleCI API v1.1 to fetch job details:
/api/v1.1/project/{vcs}/{org}/{repo}/{job_number} with your CircleCI tokenoutput_url (signed URL, no auth required)tests subcommand)Uses CircleCI API v2 to fetch test results:
/api/v2/project/{vcs}/{org}/{repo}/{job_number}/tests with your CircleCI tokencircleci-logs includes an MCP server that enables AI assistants (Claude Desktop, VSCode, Cursor, etc.) to use it as a tool for fetching and analyzing CircleCI logs programmatically.
# Start the MCP server (uses stdio transport)
export CIRCLE_TOKEN=your-token-here
circleci-logs mcp
Add the following configuration to your Claude Desktop settings:
Edit: ~/Library/Application Support/Claude/claude_desktop_config.json
Edit: %APPDATA%\Claude\claude_desktop_config.json
Edit: ~/.config/claude/claude_desktop_config.json
Add the circleci-logs server configuration:
{
"mcpServers": {
"circleci-logs": {
"command": "npx",
"args": ["circleci-logs", "mcp"],
"env": {
"CIRCLE_TOKEN": "your-circleci-token-here"
}
}
}
}
Or if you have it installed globally:
{
"mcpServers": {
"circleci-logs": {
"command": "circleci-logs",
"args": ["mcp"],
"env": {
"CIRCLE_TOKEN": "your-circleci-token-here"
}
}
}
}
Add to your workspace settings (.vscode/settings.json):
{
"claude.mcpServers": {
"circleci-logs": {
"command": "npx",
"args": ["circleci-logs", "mcp"],
"env": {
"CIRCLE_TOKEN": "${env:CIRCLE_TOKEN}"
}
}
}
}
fetch_logsFetches CircleCI job logs from a URL with various filtering options.
Parameters:
url (string, required): CircleCI job URLerrors_only (boolean, optional): Only show actions with non-success statusgrep (string, optional): Filter log lines with regex patternformat (string, optional): Output format - "text" or "json" (default: "text")Example usage in Claude:
"Can you check the CircleCI logs for https://circleci.com/gh/org/repo/12345 and show me only the errors?"
Claude will use the fetch_logs tool with errors_only: true to fetch and analyze the logs.
search_pr_checks (Coming in Phase 2)Search CircleCI checks for a GitHub PR.
get_failed_checks (Coming in Phase 2)Get all failed CircleCI checks from the current PR.
Once configured, you can ask your AI assistant:
Debug CI failures:
"Check the CircleCI job at https://circleci.com/gh/myorg/myrepo/12345 and tell me why it's failing"
Search for specific errors:
"Look for timeout errors in this CircleCI job: https://circleci.com/gh/myorg/myrepo/12345"
Analyze test failures:
"Get the logs from https://circleci.com/gh/myorg/myrepo/12345 and identify which tests are failing"
Filter specific patterns:
"Search for database connection errors in the CircleCI logs at https://circleci.com/gh/myorg/myrepo/12345"
The AI assistant will automatically use the MCP server to fetch logs, apply filters, and analyze the results to provide insights about your CI failures.
Server not starting:
npm list -g circleci-logsnode --version (requires >= 22.18.0)Token issues:
echo $CIRCLE_TOKENcurl -H "Circle-Token: $CIRCLE_TOKEN" https://circleci.com/api/v1.1/meClaude Desktop not finding the tool:
which circleci-logs or npx circleci-logs --versionDebug MCP communication:
# Test the MCP server directly
echo '{"jsonrpc":"2.0","method":"tools/list","params":{},"id":1}' | circleci-logs mcp
When using this tool with AI assistants (Claude, ChatGPT, etc.), you can use these prompts:
Check if my PR has any failing CircleCI checks and show me the error logs.
# Prerequisites: CIRCLE_TOKEN must be set in environment
# User should run: export CIRCLE_TOKEN=your-token-here
Steps:
1. First check PR status: gh pr checks --json state,name,link
2. If there are FAILURE states, get their logs:
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | select(.name | contains("circleci")) | .link' | xargs -n1 circleci-logs logs --errors-only
Show me the test failures from my CI run.
# Prerequisites: CIRCLE_TOKEN environment variable must be set
# Get test results from failed CircleCI jobs:
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | select(.name | contains("circleci")) | .link' | head -1 | xargs circleci-logs tests --failed-only
# Or get all test results with summary:
gh pr checks --json link -q '.[0].link' | xargs circleci-logs tests
My PR CI is failing. Show me what's wrong.
# Prerequisites: CIRCLE_TOKEN environment variable must be set
# Option 1: Show error logs
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | .link' | head -1 | xargs circleci-logs logs --errors-only
# Option 2: Show failed tests (if job has test results)
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | .link' | head -1 | xargs circleci-logs tests --failed-only
This will show error logs or test failures from the first failed check.
Analyze all failed CircleCI checks in my PR and summarize the issues.
# Prerequisites: CIRCLE_TOKEN environment variable required
# Basic circleci-logs usage:
- circleci-logs logs <URL> # Fetch all logs from a CircleCI job
- circleci-logs logs --errors-only <URL> # Show only failed steps
- circleci-logs logs --grep "pattern" <URL> # Filter logs with regex
- circleci-logs tests <URL> # Fetch test results
- circleci-logs tests --failed-only <URL> # Show only failed tests
- circleci-logs tests --json <URL> # Output test results as JSON
Commands to run:
1. List all failed checks:
gh pr checks --json state,name,link -q '.[] | select(.state=="FAILURE")'
2. Get error logs from each failed CircleCI check:
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | select(.name | contains("circleci")) | .link' | while read url; do
echo "=== Checking logs for $url ==="
circleci-logs logs --errors-only "$url" | head -30
echo "=== Checking test results ==="
circleci-logs tests --failed-only "$url" 2>/dev/null || echo "No test results available"
done
3. Search for specific error patterns in logs:
# For critical errors only (less noise):
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | select(.name | contains("circleci")) | .link' | head -1 | xargs circleci-logs logs --grep "ERROR|FAILED|FATAL"
# For comprehensive error search (may include more context):
gh pr checks --json state,link,name -q '.[] | select(.state=="FAILURE") | select(.name | contains("circleci")) | .link' | head -1 | xargs circleci-logs logs --grep -i "error|fail|timeout"
Then provide:
- Summary of which checks failed
- Key error messages found
- Suggested fixes
Analyze this specific CircleCI job that's failing:
URL: https://circleci.com/gh/org/repo/12345
# Prerequisites: CIRCLE_TOKEN must be set
Run these diagnostics:
1. circleci-logs logs --errors-only "[URL]" | head -50
2. circleci-logs logs --grep "ERROR|FAILED|FATAL|error|failed|timeout" "[URL]"
3. circleci-logs logs --verbose "[URL]" 2>&1 | grep -E "Job status|Steps:"
4. circleci-logs tests --failed-only "[URL]"
Identify the root cause and suggest fixes.
Monitor and debug CI failures on my current branch (no PR yet).
# Prerequisites: CIRCLE_TOKEN environment variable required
# Basic circleci-logs usage:
- circleci-logs logs <URL> # Fetch all logs from a CircleCI job
- circleci-logs logs --errors-only <URL> # Show only failed steps
- circleci-logs logs --grep "pattern" <URL> # Filter logs with regex
- circleci-logs tests <URL> # Fetch test results
- circleci-logs tests --failed-only <URL> # Show only failed tests
Commands for branch monitoring:
1. List recent workflow runs on current branch:
gh run list --branch $(git branch --show-current) --limit 10
2. Get failed job logs from latest workflow:
gh run list --branch $(git branch --show-current) --status failure --limit 1 --json databaseId | \
jq -r '.[0].databaseId' | \
xargs -I{} gh run view {} --json jobs | \
jq -r '.jobs[] | select(.conclusion=="failure") | .url' | \
xargs -n1 circleci-logs logs --errors-only
3. Monitor specific workflow by name:
gh run list --branch $(git branch --show-current) --workflow "CI" --limit 1 --json databaseId | \
jq -r '.[0].databaseId' | \
xargs -I{} gh run view {} --json jobs | \
jq -r '.jobs[].url' | \
xargs -n1 circleci-logs logs
4. Watch CI status in real-time:
watch -n 30 'gh run list --branch $(git branch --show-current) --limit 5'
Then analyze:
- Which jobs are failing
- Common error patterns across failures
- Potential fixes based on error messages
I just pushed to my branch and want to check if CI passes.
# Prerequisites: CIRCLE_TOKEN set in environment
Quick check workflow:
1. Wait for workflows to start:
gh run watch --exit-status
2. If failed, get error logs:
gh run list --branch $(git branch --show-current) --status failure --limit 1 --json databaseId | \
jq -r '.[0].databaseId' | \
xargs -I{} gh run view {} --log-failed
3. For CircleCI specific logs with more detail:
gh run view --json jobs | \
jq -r '.jobs[] | select(.conclusion=="failure") | .url' | \
xargs -n1 circleci-logs logs --errors-only --grep "ERROR|FAIL"
4. Check if it's a flaky test:
# Re-run failed jobs
gh run rerun --failed
Monitor until all checks pass.
export CIRCLE_TOKEN=your-token-here # Set this once in your terminal
When sharing logs with LLMs:
--grep to filter only relevant error messagesMIT
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/mkusaka/circleci-logs#input",
"outputSchemaRef": "https://github.com/mkusaka/circleci-logs#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:46:16.666Z",
"sourceUpdatedAt": "2026-02-24T19:46:16.666Z",
"freshnessSeconds": 4429975
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T02:19:12.396Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "circleci",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ci",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "logs",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "github",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "pr",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "checks",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:circleci|supported|profile capability:ci|supported|profile capability:logs|supported|profile capability:cli|supported|profile capability:github|supported|profile capability:pr|supported|profile capability:checks|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:16.666Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key",
"href": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:16.666Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/mkusaka/circleci-logs#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:46:16.666Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Mkusaka",
"href": "https://github.com/mkusaka/circleci-logs#readme",
"sourceUrl": "https://github.com/mkusaka/circleci-logs#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1 GitHub stars",
"href": "https://github.com/mkusaka/circleci-logs",
"sourceUrl": "https://github.com/mkusaka/circleci-logs",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-mkusaka-circleci-logs/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to circleci-logs and adjacent AI workflows.