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 |
Capabilities
Features and capabilities supported by this server
| 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