blacksmith-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BLACKSMITH_ORG | No | Default organization name (optional, used if you have multiple organizations) | |
| BLACKSMITH_SESSION_COOKIE | Yes | Your session cookie extracted from browser cookies (name: session) at app.blacksmith.sh |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_orgsA | List all Blacksmith organizations accessible to your account. Use this first to see available orgs. |
| get_org_statusA | Get the status of the current organization (personal org, onboarding, runner region). |
| get_org_settingsA | Get all organization settings: email, alerts, timeouts, feature flags (Docker caching, SSH, branch protection, log ingestion), and PR comment config. |
| get_actorsB | Get users who have triggered workflow runs. Useful for filtering runs by actor. |
| list_runsA | List workflow runs with filtering. Filter by status (success/failure/cancelled/skipped/in_progress), branch, workflow name, actor, or PR number. Example: list_runs(status="failure") to find failed runs. |
| get_runA | Get details of a specific workflow run by ID. Includes list of jobs. |
| list_jobsA | List all jobs for a specific workflow run. Use this to get job IDs for get_job, get_job_logs, and get_job_tests. |
| get_run_filter_optionsA | Get available filter values for workflow runs: statuses, repositories, branches, workflows, and users. Use this to discover valid filter values before calling list_runs. |
| get_run_histogramB | Get workflow run duration distribution as a histogram. Shows how long runs typically take. |
| get_run_testsA | Get test results for an entire run (all jobs). Simpler than calling get_job_tests per job. Truncates at 500 tests. |
| get_jobC | Get details of a specific job including steps, runner info, and timing. |
| get_job_logsA | Get the logs for a specific job. Returns raw log output. |
| get_job_testsB | Get test results for a job. Optionally filter by status (pass/fail/skip). |
| get_failed_testsA | Get failed tests for a job with full error details. Use error_lines param to control stack trace length. Returns all failures by default (no limit). |
| get_failures_by_patternA | Group failed tests by error pattern (e.g., "is not a function", "Cannot read properties"). Shows count, affected suites/files, and sample error for each pattern. Best for quickly identifying root causes. |
| compare_test_runsA | Compare test failures between two runs to identify regressions. Shows new failures, fixed tests, and persistent failures. If base_run_id not provided, compares against most recent prior run. |
| get_flaky_testsA | Detect flaky tests by analyzing pass/fail patterns across recent runs. Returns tests that fail intermittently (e.g., "failed 3 of 10 runs"). Killer feature for CI stability. |
| get_slow_testsB | Find tests exceeding a duration threshold. Shows slowest tests, their percentage of total test time, and average duration stats. |
| get_test_historyA | Get the failure history for a specific test across recent runs. Shows when it passed/failed, on which branches, and error messages for failures. |
| get_trendsA | Track metrics over time: duration (are tests getting slower?), failure_rate (are tests getting flakier?), test_count (are we adding tests?). Returns trend analysis with data points. |
| get_current_usageA | Get current core usage snapshot (active cores vs max cores). |
| get_invoice_amountA | Get the current billing period invoice amount. |
| get_usage_summaryA | Get usage summary showing billable minutes vs free tier allowance. Shows remaining free minutes and overage. |
| get_cache_statsA | Get Blacksmith cache statistics: total size, hit rate, entries by repository. Shows how effectively caching is being used. |
| get_cache_entriesA | Get detailed cache entries for a repository. Shows cache keys, sizes, scopes (branches), and last hit times. Useful for debugging cache issues. |
| get_core_usage_timeseriesA | Get core usage over time. Shows how many cores are being used at each interval. Defaults to last 24 hours with 15-minute intervals. |
| get_monitorsC | Get alerting/monitoring rules configured for the organization. Shows active monitors and their timeline history. |
| search_logsA | Search logs across all jobs. Filter by query (e.g., "error", "timeout"), log level (INFO/WARN/ERROR/DEBUG), and time range. Great for finding issues across runs. |
| get_log_filter_optionsA | Get available filter values for log search (e.g., job names, log levels). Use before search_logs to discover valid filter values. |
| get_log_histogramA | Get log volume over time as a histogram. Useful for spotting error spikes or unusual activity patterns. |
| get_jobs_dailyA | Get daily job metrics: counts, durations, and failure rates per day. Great for spotting trends. Defaults to last 7 days. |
| get_jobs_summaryA | Get aggregate job statistics for a period: total jobs, total duration, average duration, failure rate. The big picture view. |
| get_jobs_by_dimensionA | Break down job metrics by dimension: repository, workflow, branch, or runner_type. Shows which repos/workflows consume the most CI time. Example: get_jobs_by_dimension(dimension="repository", metric="duration") |
| get_runner_typesA | Get runner types used for CI jobs in a period. Shows what machine types are being used. |
| get_active_repositoriesA | Get repositories with CI activity in a period. Shows which repos are actively running workflows. |
| get_active_branchesB | Get branches with CI activity. Optionally filter by repository. |
| get_job_duration_distributionA | Get job duration distribution with percentile breakdowns (P50/P90/P95/P99/Max). Shows histogram of how long jobs take and identifies outliers. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/grahamnotgrant/blacksmith-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server