Blumira MCP
MCPB · BLUMIRA-MCP.MCPB
Cross-account Blumira findings, detections, and agents in one offline-searchable store.
Available components
Last scanned (12 hours ago)
Scores higher than 77% of MCPB servers
Category Security
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security0
- No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.Unverified
- Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
- Install-script risk not yet assessed.Unverified
- Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).Unverified
Provenance & Transparency48
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 13 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability57
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 20533 tokens (~336/item across 61 items; 61 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management76
- Stability check failed: the tool surface changed between 0.1.3 and 0.1.6: 0 tool removals, 1 breaking changes, 0 additions. See how to fix → Fail
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "triage" implies "merge" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 61 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Checks we ran (12)
- Source repository
- Provenance
- License
- Maintenance
- Security disclosure
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Checks we could not complete (4)
These are gaps on our side, not findings about this package. We only credit what we can confirm, so a category made up entirely of them scores 0.
- Malware scan in Supply Chain Security (scores 0 for this)No malware scan is available for this kind of package: the supply-chain vendors we use do not cover it. This is a permanent gap in our coverage, not a finding about the package.
- Known CVEs in Supply Chain Security (scores 0 for this)Known CVEs could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
- Install scripts in Supply Chain Security (scores 0 for this)Install-script risk not yet assessed.
- Dependency health in Supply Chain Security (scores 0 for this)Dependency health could not be checked: we found no dependency list to check in this bundle: either it runs a compiled binary, whose bundled manifests we do not read, or none of the package.json, requirements.txt, pyproject.toml or uv.lock files it ships for its runtime declares a dependency we can read (a requirements.txt that only points at a setup.py project, a local path, or a nested requirements file we cannot follow counts as none).
Does not apply to this package (2)
- Endpoint SecurityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
- Transport & ReachabilityScored on hosted endpoints only. A package has no live endpoint of its own for us to probe.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 −3
No change was recorded against any check on this day. Stability & Change Management went from 99 to 76.
- 29 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 96.
- 27 Oct 26 +1
- Package version: 0.1.3 → 0.1.6 functional
- 25 Oct 26 +2
- Maintenance: unverified → pass ▲ functional
- 23 Oct 26 −1
- Stability: 0.73 → fail ▼ security
- Maintenance: pass → unverified ▼ functional
- Schema quality: excellent → good functional
- Package version: 0.1.5 → 0.1.6 functional
- 22 Oct 26 +1
- Tool safety: pass → unverified ▼ security
- Stability: 0.70 → unverified ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Package version: 0.1.4 → 0.1.5 functional
- 20 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Analysed mcpb/https://github.com/Servosity/msp-skills/releases/download/blumira-v0.1.6/blumira-mcp.mcpb@0.1.6
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | mcpb |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
org_controller-direct-get-by ~1,468
Get or search findings for your organization. Optional: page (default: 1), page_size (default: 50), limit (default: 200) (plus 71 more). Returns array of OrgControllerDirectGetByItem.
| Name | Type | Req | Description |
|---|---|---|---|
| blocked | boolean | – | If included, filter findings with blocked either True of False |
| blocked-eq-2 | boolean | – | If included, filter out findings with blocked either True of False |
| blocked.eq | boolean | – | If included, filter findings with blocked either True of False |
| category | number | – | Category ID of finding |
| category-eq-2 | number | – | Category ID of finding to filter out |
| category-in-2 | string | – | Comma-separated list of category IDs of findings to filter out |
| category.eq | number | – | Category ID of finding |
| category.in | string | – | Comma-separated list of category IDs of findings to include |
| created | string | – | Exact time object was created |
| created-eq-2 | string | – | Filter out findings with the given exact time of creation |
| created-gt-2 | string | – | End time of window for search (implied UTC) (inclusive) |
| created-lt-2 | string | – | Start time of window for search (implied UTC) (inclusive) |
| created.eq | string | – | Exact time object was created |
| created.gt | string | – | Start time of window for search (implied UTC) (exclusive) |
| created.lt | string | – | End time of window for search (implied UTC) (exclusive) |
| created_after | string | – | Start time of window for search (implied UTC) |
| created_before | string | – | End time of window for search (implied UTC) |
| created_by | string | – | If specified, limit search to findings created_by person with given UUID |
| limit | number | – | Maximum number of records to return, e.g., '200' |
| modified | string | – | Exact time object was modified |
| modified-by-eq-2 | string | – | Filter out findings where person who last modified it has the given UUID |
| modified-by-in-2 | string | – | Filter out findings where person who last modified it in the given comma-separated list of UUIDs |
| modified-eq-2 | string | – | Filter out findings with the given exact time of modification |
| modified-gt-2 | string | – | End time of window for search (implied UTC) (inclusive) |
| modified-lt-2 | string | – | Start time of window for search (implied UTC) (inclusive) |
| modified.eq | string | – | Exact time object was modified |
| modified.gt | string | – | Start time of window for search (implied UTC) (exclusive) |
| modified.lt | string | – | End time of window for search (implied UTC) (exclusive) |
| modified_after | string | – | Start time of window for search (implied UTC) |
| modified_before | string | – | End time of window for search (implied UTC) |
| modified_by | string | – | UUID of person who last modified finding |
| modified_by.eq | string | – | UUID of person who last modified finding |
| modified_by.in | string | – | Comma-separated list of UUIDs of persons who last modified finding |
| name | string | – | If specified, will limit search to findings with given name |
| name-contains-2 | string | – | If specified, will filter out findings with given name substring |
| name-eq-2 | string | – | If specified, will filter out findings with given name |
| name-in-2 | string | – | If specified, will filter out findings with any of the given comma-separated list of names |
| name-regex-2 | string | – | If specified, will filter out findings with name partially matching given regular expression |
| name.contains | string | – | If specified, will limit search to findings with given name substring |
| name.eq | string | – | If specified, will limit search to findings with given name |
| name.in | string | – | If specified, will limit search to findings with one of the given comma-separated list of names |
| name.regex | string | – | If specified, will limit search to findings with name partially matching given regular expression |
| order_by | string | – | Order records by field, e.g., 'created', 'created;asc', 'created;desc', 'name;desc,created;desc' |
| page | number | – | Page to return, e.g., '2' |
| page_size | number | – | Number of records per page to return, e.g., '3' |
| priority | number | – | Priority number of finding |
| priority-eq-2 | number | – | Priority number of finding to filter out |
| priority-gt-2 | number | – | Maximum priority number of finding to include |
| priority-in-2 | string | – | Comma-separated list of priority numbers of findings to filter out |
| priority-lt-2 | number | – | Minimum priority number of finding to include |
| priority.eq | number | – | Priority number of finding |
| priority.gt | number | – | Maximum priority number of finding to exclude |
| priority.in | string | – | Comma-separated list of priority numbers of findings to include |
| priority.lt | number | – | Minimum priority number of finding to exclude |
| resolution | number | – | Resolution ID of finding |
| resolution-eq-2 | number | – | Resolution ID of finding to filter out |
| resolution-in-2 | number | – | Comma-separated list of resolution IDs of findings to filter out |
| resolution.eq | number | – | Resolution ID of finding |
| resolution.in | number | – | Comma-separated list of Resolution IDs of findings to include |
| status | number | – | Status ID of finding |
| status-eq-2 | number | – | Status ID of finding to filter out |
| status-in-2 | string | – | Comma-separated list of status IDs of findings to filter out |
| status-modified-by-eq-2 | string | – | UUID of person who last modified finding status |
| status-modified-by-in-2 | string | – | Comma-separated list of UUIDs of persons who last modified finding status to be filtered out |
| status.eq | number | – | Status ID of finding |
| status.in | string | – | Comma-separated list of status IDs of findings to include |
| status_modified_by | string | – | UUID of person who last modified finding status |
| status_modified_by.eq | string | – | UUID of person who last modified finding status |
| status_modified_by.in | string | – | Comma-separated list of UUIDs of persons who last modified finding status |
| type | number | – | Integer type id |
| type-eq-2 | number | – | Integer type id to filter out |
| type-in-2 | string | – | Comma-separated list of integer type IDs to filter out |
| type.eq | number | – | Integer type id |
| type.in | string | – | Comma-separated list of integer type IDs to include |
No output schema declared.
No examples provided.
org_controller-direct-get-comments ~65
Get comments for a specific finding. Required: finding_id. Returns array of FindingsCommentsRecord.
| Name | Type | Req | Description |
|---|---|---|---|
| finding_id | string | yes | Finding ID of the object, e.g., '00110011-0000-0000-0000-000000000000' |
No output schema declared.
No examples provided.
org_controller-direct-get-details ~64
Get details for a specific finding. Required: finding_id. Returns the FindingDetailRecord.
| Name | Type | Req | Description |
|---|---|---|---|
| finding_id | string | yes | Finding ID of the object, e.g., '00110011-0000-0000-0000-000000000000' |
No output schema declared.
No examples provided.
org_controller-direct-get-detection-rule ~65
Get a detection rule by ID. Required: rule_id. Returns the ResponseDetectionRuleDetail.
| Name | Type | Req | Description |
|---|---|---|---|
| rule_id | string | yes | Detection rule ID, e.g., '00110011-0000-0000-0000-000000000000' |
No output schema declared.
No examples provided.
org_controller-direct-get-detection-rules-by ~152
List detection rules for your organization. Optional: page (default: 1), page_size (default: 50), limit (default: 200) (plus 1 more). Returns array of DetectionRuleRecord.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of records to return, e.g., '200' |
| order_by | string | – | Order records by field, e.g., 'created', 'created;asc', 'created;desc', 'name;desc,created;desc' |
| page | number | – | Page to return, e.g., '2' |
| page_size | number | – | Number of records per page to return, e.g., '3' |
No output schema declared.
No examples provided.
org_controller-direct-get-evidence ~233
Returns evidence keys (schema) and a paginated first page of evidence rows for the finding in one call. Resolves the finding to its match and orchestrates evidence_key + evidence from bdf-matches. Use query params for pagination (e.g. page=2 for subsequent pages). Required: finding_id. Optional: page (default: 1), page_size (default: 50), limit (default: 200) (plus 1 more).
| Name | Type | Req | Description |
|---|---|---|---|
| finding_id | string | yes | Finding ID of the object, e.g., '00110011-0000-0000-0000-000000000000' |
| limit | number | – | Maximum number of records to return, e.g., '200' |
| order_by | string | – | Order records by field, e.g., 'created', 'created;asc', 'created;desc', 'name;desc,created;desc' |
| page | number | – | Page to return, e.g., '2' |
| page_size | number | – | Number of records per page to return, e.g., '3' |
No output schema declared.
No examples provided.
org_controller-direct-list-users ~109
Get or search users for your organization. Optional: page (default: 1), page_size (default: 50), limit (default: 200). Returns array of OrgControllerDirectListUsersItem.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Maximum number of records to return, e.g., '200' |
| page | number | – | Page to return, e.g., '2' |
| page_size | number | – | Number of records per page to return, e.g., '3' |
No output schema declared.
No examples provided.
org_controller-direct-resolve-finding ~120
Resolve a finding. Required: finding_id, resolution. Optional: resolution_notes. Returns the new FindingDetailRecord.
| Name | Type | Req | Description |
|---|---|---|---|
| finding_id | string | yes | Finding ID of the object, e.g., '00110011-0000-0000-0000-000000000000' |
| resolution | number | yes | Resolution ID (e.g., 10=Valid, 20=False Positive, 30=No Action Needed, 40=Risk Accepted) |
| resolution_notes | string | – | Optional notes related to the resolution |
No output schema declared.
No examples provided.
org_controller-direct-set-owners ~120
Assign owners to a finding. Required: finding_id, owner_type, owners. Returns the new FindingDetailRecord.
| Name | Type | Req | Description |
|---|---|---|---|
| finding_id | string | yes | Finding ID of the object, e.g., '00110011-0000-0000-0000-000000000000' |
| owner_type | string | yes | Type of owners to assign. Case-sensitive, must be lowercase. |
| owners | string | yes | Array of person IDs (UUIDs) to assign as owners. Empty array clears all owners for the specified owner_type. |
No output schema declared.
No examples provided.
overview ~536
Use this command for a per-account rollup table (counts/health across all clients at a glance). Do NOT use this command for the single ranked list of individual findings to work next; use 'triage' instead. Joins synced findings and agent devices per account: open counts by priority, oldest open age, resolved counts, device/DC/stale-agent tallies. The hottest account (most P1s, then most open) sorts first. Reads the local store.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
reconcile ~509
Project synced findings from every account into one flat, ticket-shaped row set (account, finding, assignees, status, timestamps) ordered stably so repeated exports diff cleanly against ConnectWise, Jira, or Zendesk. Reads the local store.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| status | string | – | Filter by status: open, resolved, or all (default: all) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
recurring ~547
Count distinct findings (grouped by finding name) seen across the snapshot history within --window, surfacing names that recur at least --min-count times — a chronic noisy rule or unremediated root cause. Reads the local snapshot history.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| min-count | number | – | Minimum distinct occurrences for a finding name to count as recurring (default: 3) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| window | string | – | Look-back window (e.g. 90d, 12w, 2160h); empty = all history (default: 90d) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
resolutions_get-resolutions ~22
Get resolution options for findings. Returns array of ResolutionRecord.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
search ~64
Full-text search across all synced data. Faster than paginating list endpoints. Requires sync first.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (default 25) |
| query | string | yes | Search query (supports FTS5 syntax: AND, OR, NOT, quotes for phrases) |
No output schema declared.
No examples provided.
sla ~601
Rank open findings by how close they are to breaching an age SLA. Defaults are per-priority (P1=4h, P2=8h, P3=24h, P4=72h, P5=168h); override with --sla. Breached findings sort first (negative breach_in_hours). Reads the local store.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| breach-in | string | – | Only show findings breaching within this window (e.g. 4h, 1d); empty shows all open |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| priority | string | – | Filter by priority: high, critical, medium, low, p1..p5, or a number |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| sla | string | – | Override the age SLA for all priorities (e.g. 24h, 2d); empty uses per-priority defaults |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
sql ~93
Run read-only SQL against local database. Use for ad-hoc analysis, aggregations, and joins across synced resources. Requires sync first.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | SQL query (SELECT or WITH...SELECT). Synced records live in resources(resource_type, id, data); filter by resource_type and use json_extract on data, e.g. SELECT json_extract(data,'$.name') FROM reso… |
No output schema declared.
No examples provided.
sync ~1,142
Sync data from the API into a local SQLite database. Supports resumable incremental sync (only fetches new data since last sync) and full resync. Once synced, use the 'search' command for instant full-text search. Exit codes & warnings: Resources the API denies access to (HTTP 403, or HTTP 400 with an access-policy body) are reported as warnings rather than failing the run. In --json mode each is emitted as a {"event":"sync_warning",...} line carrying status, reason, and message fields, and a final {"event":"sync_summary",...} aggregates the run. Exit 0 when at least one resource synced and no resource flagged in the spec as critical (x-critical: true) failed; non-critical failures emit {"event":"sync_warning","reason":"exit_policy_default_changed", ...} so callers can detect that a partial failure was tolerated. Pass --strict to exit non-zero on any per-resource failure. Exit is always non-zero when every selected resource failed, regardless of --strict. Resource scoping: --resources runs the named top-level resources, plus any parent-keyed dependent whose own name is listed OR whose parent table is listed. Naming a parent therefore cascades to its dependents (so "sync this parent and its children" works without listing every nested resource by hand). There is no flag today to suppress the cascade for a named parent. To run a dependent without re-syncing its parent, list only the dependent by name; the parent table must already be populated from a prior sync.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| concurrency | number | – | Number of parallel sync workers (default: 4) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| full | boolean | – | Full resync (ignore previous checkpoint) (default: false) |
| global-param | string | – | Extra query param to inject into every sync request including dependent path-scoped calls (repeatable, key=value). Use when an API requires a scope on every call regardless of path nesting. |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| latest-only | boolean | – | Refresh head of each resource only; clears resume cursor and caps pages at 1. Mutually exclusive with --since (--since wins). (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| max-pages | number | – | Maximum pages to fetch per resource (0 = unlimited; cap-hit emits a sync_warning event) (default: 0) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| param | string | – | Extra query param to inject into flat-list sync requests (repeatable, key=value). Skipped on path-scoped dependent requests so a top-level scope like workspace=<id> does not double up on /parents/<id… |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| resource-param | string | – | Per-resource extra query param (repeatable, resource:key=value). Wins over --param and --global-param when keys conflict. |
| resources | string | – | Comma-separated resource types to sync. Naming a parent also runs its parent-keyed dependents (see Long help for scoping). |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| since | string | – | Incremental sync duration (e.g. 7d, 24h, 1w, 30m) |
| strict | boolean | – | Exit non-zero on any per-resource failure (default: only critical failures or all-resource failure exit non-zero). (default: false) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
tail ~564
Tail streams live data changes by polling the API at configurable intervals. Events are emitted as NDJSON to stdout for piping to other tools. Gracefully shuts down on SIGTERM/SIGINT. Note: For APIs with WebSocket or SSE support, a future version will use native streaming instead of polling.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| args | string | – | Additional positional arguments or raw CLI flags to append to the command. |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| follow | boolean | – | Keep running (set --follow=false for single poll) (default: true) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| interval | string | – | Poll interval (default: 10s) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| resource | string | – | Resource type to tail |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
triage ~563
Merge findings synced from your direct org and every MSP sub-account into one queue, ranked by priority (P1 first) then age (oldest first). Reads the local store; run 'auth login' then 'sync --full' first.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| limit | number | – | Maximum rows to return (0 = no limit) (default: 0) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| priority | string | – | Filter by priority: high, critical, medium, low, p1..p5, or a number (default: all) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| status | string | – | Filter by status: open, resolved, or all (default: open) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
velocity ~540
Derive MTTR (time from a finding's first appearance to its first resolved snapshot) and open-rate from the local snapshot history within --window. Group by account or report overall. History accrues as 'sync' runs over time.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| by | string | – | Group results by: account or all (default: account) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| window | string | – | Look-back window (e.g. 30d, 2w, 720h); empty = all history (default: 30d) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
workflow ~444
Compound workflows that combine multiple API operations
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
workflow_archive ~508
Archive fetches all syncable resources from the API and stores them in a local SQLite database. Supports incremental sync (only new data since last run) and full resync. After archiving, use 'search' for instant full-text search.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| full | boolean | – | Full re-archive (ignore previous sync state) (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
workflow_status ~448
Show local archive status and sync state for all resources
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
workload ~506
Group every open synced finding by its assignee across all accounts, with age buckets (<24h, 1-3d, >3d), P1 counts, and the number of accounts each analyst touches. Findings with no owner aggregate under '(unassigned)' so triage gaps stay visible. Reads the local store.
| Name | Type | Req | Description |
|---|---|---|---|
| agent | boolean | – | Set all agent-friendly defaults (--json --compact --no-input --no-color --yes) (default: false) |
| allow-partial-failure | boolean | – | Downgrade response-body partial-failure (e.g. partialFailureError) to a warning instead of a non-zero exit (default: false) |
| compact | boolean | – | Return only key fields (id, name, status, timestamps) for minimal token usage (default: false) |
| csv | boolean | – | Output as CSV (table and array responses) (default: false) |
| data-source | string | – | Data source for read commands: auto (live with local fallback), live (API only), local (synced data only) (default: auto) |
| dry-run | boolean | – | Show request without sending (default: false) |
| human-friendly | boolean | – | Enable colored output and rich formatting (default: false) |
| idempotent | boolean | – | Treat already-existing create results as a successful no-op (default: false) |
| json | boolean | – | Output as JSON (default: false) |
| max-age | string | – | Maximum acceptable age of local-store data before a stderr hint suggests sync; 0 disables (default: 30m0s) |
| no-cache | boolean | – | Bypass response cache (default: false) |
| no-color | boolean | – | Disable colored output (default: false) |
| no-input | boolean | – | Disable all interactive prompts (for CI/agents) (default: false) |
| plain | boolean | – | Output as plain tab-separated text (default: false) |
| quiet | boolean | – | Bare output, one value per line (default: false) |
| rate-limit | number | – | Max requests per second (0 to disable) (default: 0) |
| select | string | – | Comma-separated fields to include in output (e.g. --select id,name,status) |
| timeout | string | – | Request timeout (default: 1m0s) |
| yes | boolean | – | Skip confirmation prompts (for agents and scripts) (default: false) |
No output schema declared.
No examples provided.
How do I install the Blumira MCP server?
Blumira MCP ships as an MCPB bundle, a single file you download and open in an MCP host that supports MCPB bundles, such as Claude Desktop. The host reads the launch command from the bundle's own manifest, so there is no command to copy. Before opening it, check the file's SHA-256 matches the one the MCP registry declares for it, ebbd0ae1b3c7dfffba5811bc954fe130aaadb64de833d21e8b016dd78f081ae1; the commands to do that are on this page. If it does not match, do not open it.
mcpb · blumira-mcp.mcpb
Download bundleCheck the download matches the SHA-256 the MCP registry declares before you open it. If it does not match, do not open the file.
SHA-256
ebbd0ae1b3c7dfffba5811bc954fe130aaadb64de833d21e8b016dd78f081ae1
macOS / Linux
echo "ebbd0ae1b3c7dfffba5811bc954fe130aaadb64de833d21e8b016dd78f081ae1 blumira-mcp.mcpb" | shasum -a 256 -c
Windows (PowerShell)
(Get-FileHash -Algorithm SHA256 .\blumira-mcp.mcpb).Hash -eq "ebbd0ae1b3c7dfffba5811bc954fe130aaadb64de833d21e8b016dd78f081ae1"
Run it in the folder you saved the bundle to, then open the file with an MCPB-capable host such as Claude Desktop.
What is the Blumira MCP server?
Blumira MCP is listed in the public MCP registry as io.github.Servosity/blumira-mcp. Cross-account Blumira findings, detections, and agents in one offline-searchable store. This page covers its MCPB bundle (https://github.com/Servosity/msp-skills/releases/download/blumira-v0.1.6/blumira-mcp.mcpb).
Is the Blumira MCP server safe to use?
Blumira MCP scores 47 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Blumira MCP server expose?
Blumira MCP exposes 61 tools: analytics, audit, context, coverage, dc_roster, and 56 more. Their descriptions and schemas cost roughly 20,533 tokens of context every time the server is loaded.
What licence is the Blumira MCP server under?
Blumira MCP declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.
What did VerifyMCP test on the Blumira MCP server?
VerifyMCP ran 12 checks on Blumira MCP, covering Source repository, Provenance, License, Maintenance and 8 more. 4 items could not be completed, a gap on our side rather than a finding about Blumira MCP: Malware scan, Known CVEs, Install scripts and Dependency health. One category scores 0 for that reason, because we only credit what we can confirm. Endpoint Security and Transport & Reachability do not apply to an MCPB bundle, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.