Skip to main content
Glama
gautam-u

sieve-map

by gautam-u

sieve-mcp

MCP server for Sieve — a macOS app that scans local AI coding tool history for secrets leaked into prompts.

sieve-mcp is bundled inside the Sieve Mac app. No separate install. No network calls. All operations run on-device.

Install

  1. Download Sieve for Mac from the App Store.

  2. Open Sieve → Settings → MCP → toggle Enable MCP server on.

Related MCP server: VaultBridge

Configure Claude Code

Add to ~/.claude/claude_desktop_config.json:

{
  "mcpServers": {
    "sieve": {
      "command": "/Applications/Sieve.app/Contents/MacOS/sieve-mcp"
    }
  }
}

Restart Claude Code and run /mcp to verify sieve appears.

Configure Claude Desktop

Add the same block to ~/Library/Application Support/Claude/claude_desktop_config.json and restart.

Tools

All tools are safe by design — no tool ever returns a plaintext secret value.

sieve_health_status

Returns service health and finding counts.

Response:

{
  "status": "ok",
  "findings_count": 12,
  "scan_jobs": 3
}

sieve_self_test

Verifies scanner rules and transcript source coverage are healthy.

Response:

{
  "fingerprintHealthy": true,
  "ruleCount": "<n>",
  "transcriptSourceCount": "<n>",
  "healthy": true,
  "issues": []
}

sieve_findings_list

Lists findings from the most recent scan.

Input: { "limit": 50 } (optional)

Response:

[
  {
    "findingId": "abc123",
    "ruleId": "github-pat",
    "severity": "critical",
    "sourcePath": "~/.claude/projects/myapp/transcript.jsonl",
    "sourceType": "ClaudeCode",
    "secretFingerprint": "<fingerprint>",
    "previewRedacted": "ghp_[REDACTED]",
    "providerExposureAssumed": true,
    "rotationStatus": "pending",
    "redactionPlaceholder": "sieve://myapp/github-pat"
  }
]

providerExposureAssumed: true — secret found in an AI tool transcript. Assume the provider (Anthropic, OpenAI, etc.) can associate the prompt with your account identity.


sieve_issue_list

Lists scanner health issues — unreadable sources, permission errors, parse failures.

Response:

[
  {
    "issueId": "iss1",
    "code": "SCAN_TARGET_UNREADABLE",
    "severity": "warning",
    "component": "ClaudeDesktop",
    "message": "Could not read chat DB — Full Disk Access may be required",
    "suggestion": "Grant Full Disk Access in System Settings → Privacy & Security"
  }
]

sieve_scan_history

Returns past scan job summaries.

Input: { "limit": 10 } (optional)

Response:

[
  {
    "jobId": "job1",
    "startedAt": "2026-05-22T10:00:00Z",
    "finishedAt": "2026-05-22T10:00:12Z",
    "sourcesCount": 4,
    "findingsCount": 3,
    "issuesCount": 0
  }
]

sieve_scan_status

Returns status of the current or most recent scan.

Response:

{ "status": "idle" }

Values: "idle" · "running" · "completed" · "failed: <reason>"


sieve_check_text

Checks whether text contains secrets. Returns boolean only — never echoes input or detected values.

Input: { "text": "<content to check>" }

Response:

{ "has_secrets": true }

Use this to gate operations before sending content to an external API.


sieve_redact_text

Redacts secrets from text, replacing values with sieve:// placeholders.

Input: { "text": "<content>", "project_key": "myapp" }

Response:

{
  "redacted": "export STRIPE_KEY=sieve://myapp/stripe-secret-key",
  "hadSecrets": true,
  "placeholders": [
    {
      "ruleId": "stripe-secret-key",
      "placeholder": "sieve://myapp/stripe-secret-key",
      "fingerprint": "<fingerprint>"
    }
  ]
}

Raw values are never included in the response.


sieve_vault_run

Executes a command with macOS Keychain-resolved secrets injected as env vars. Secrets never transit the MCP channel.

Input: { "command": "npm run deploy", "fingerprints": ["<fingerprint>"] }

Response:

{
  "exit_code": 0,
  "succeeded": true,
  "timed_out": false,
  "stdout_line_count": 14,
  "stderr_line_count": 0
}

stdout/stderr content is never returned — only line counts.


Supported AI tool sources

Tool

Source

Claude Code

JSONL project transcripts

Claude Desktop

SQLite chat database

Cursor

SQLite state database

VS Code / Copilot Chat

JSON history files

Windsurf

JSON history files

Cline

JSON session files

Codex CLI

JSONL/JSON session files

Gemini CLI

JSON history files

.env files

Selected project roots

Custom sources

User-added folders

Sieve correlates findings across source types — if the same secret appears in both a transcript and a .env file, it is flagged as a multi-source exposure.

Security posture

  • Local-only. stdio transport, no network calls, no cloud sync.

  • No plaintext secrets in responses. Hard invariant in the dispatcher — not configurable.

  • Fingerprint-only persistence. Findings DB stores HMAC fingerprints + redacted previews only.

  • Keychain-backed vault. Secret values live in macOS Keychain with biometric access control.

  • Explicit opt-in. MCP is off by default; requires toggle in Sieve Settings.

  • Unreadable sources reported. SCAN_TARGET_UNREADABLE surfaces in sieve_issue_list — no silent skipping.

Transport

stdio. The sieve-mcp binary reads JSON-RPC 2.0 from stdin and writes to stdout. MCP clients (Claude Code, Claude Desktop) manage the process lifecycle.

Platform

macOS only. Requires Sieve app installed from the Mac App Store.

Available Tools

9 tools
sieve_check_textA

Checks whether text contains secrets. Returns boolean only — never echoes input or detected values.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to check for secrets

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses a key behavioral trait (never echoes input or detected values), which is critical for privacy-sensitive tools. However, it does not mention other aspects like performance, rate limits, or error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that conveys purpose and key behavior without any redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description is nearly complete. It covers purpose, return type, and a privacy promise. It could be slightly improved by hinting at what constitutes a 'secret', but overall it is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema description for 'text' already states 'Text to check for secrets'. The description adds minimal extra parameter meaning beyond the schema, so baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool checks text for secrets, and distinguishes it from sibling tools like sieve_redact_text (which redacts) and sieve_findings_list (which lists findings). The verb 'checks' and resource 'text' are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context by stating it returns only a boolean and never echoes input, suggesting it is for binary secret detection rather than detailed analysis. However, it does not explicitly state when to use or avoid this tool versus alternatives like sieve_findings_list or sieve_redact_text.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sieve_findings_listA

Lists findings from the most recent scan. Previews are redacted — no plaintext secret values.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax findings to return (default 50)

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description partially fills in behavioral context by noting that previews are redacted. However, it does not disclose other important behaviors such as whether the tool requires authentication or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences, front-loaded with the core action, and contains no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no output schema, the description adequately covers purpose and redaction behavior. However, it lacks details on what fields are returned or how the 'most recent scan' is determined, which may require the agent to infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'limit' is fully described in the schema (100% coverage), so the description adds no extra meaning beyond what is already available.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Lists' and the resource 'findings from the most recent scan', differentiating it from siblings that handle other aspects like scan status or history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like sieve_scan_history or sieve_scan_status. The description does not mention prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sieve_health_statusA

Returns Sieve service health and finding counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states that the tool returns health and finding counts, which is minimal. It does not specify whether it is read-only, requires authentication, or has any side effects, leaving significant gaps in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It efficiently communicates the core function without any superfluous details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no output schema, so the description explains it returns health and finding counts, which is fairly complete for a health check. However, it could be more specific about the format or structure of the counts. Sibling tools are diverse, and no cross-references are needed for this simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage (empty). According to guidelines, a baseline of 4 is appropriate when no parameters exist, and the description does not need to add any param info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it returns Sieve service health and finding counts, specifying the verb 'returns' and the resource 'Sieve service health and finding counts'. It stands out from siblings like sieve_check_text or sieve_findings_list which handle different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus siblings. However, as a health check tool, its purpose is implied: to check service status. No alternatives or exclusions are mentioned, which is acceptable for a straightforward query.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sieve_issue_listA

Lists scanner health issues: unreadable sources, permission errors, parse failures.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It implies a read-only operation (listing), which is accurate, but doesn't disclose any caveats like state changes, auth requirements, or performance characteristics. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with specific examples. Every word adds value. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and simple operation (list), the description is mostly complete. It defines what it lists and gives examples. Missing details on output format or ordering, but not critical for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist and schema coverage is 100%, so the description doesn't need to compensate. Baseline 4 is appropriate; it doesn't add unnecessary info but also doesn't explain output format, which could be helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists scanner health issues and provides concrete examples (unreadable sources, permission errors, parse failures), distinguishing it from siblings like sieve_findings_list or sieve_health_status. The verb 'lists' combined with specific resource 'scanner health issues' gives exact purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like sieve_health_status or sieve_findings_list. Missing context on prerequisites, typical use cases, or exclusions. The description only states what it does, not when it's appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sieve_redact_textB

Redacts secrets from text, replacing values with sieve:// placeholders. Raw values are never returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to redact
project_keyNoNamespace for placeholders (e.g. 'myapp')

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It states 'Raw values are never returned' but lacks details on side effects, permissions, rate limits, or error handling. Minimal behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with no redundant information. Every sentence adds value and the description is front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 params and no output schema, description covers input and basic behavior. However, it lacks explicit return format description, which would be helpful given no output schema. Adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so baseline is 3. Description adds context by explaining the placeholder replacement and the never-returned raw values, but does not significantly extend beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Redacts secrets from text') and resource, with specific behavior ('replacing values with sieve:// placeholders', 'Raw values are never returned'). It distinguishes from sibling tools like sieve_check_text and sieve_findings_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or avoid this tool. No mention of alternatives or prerequisites. The description is purely functional with no usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sieve_scan_historyC

Returns past scan job summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax jobs to return (default 10)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries full burden. It does not disclose whether the operation is read-only, or what side effects might occur. The term 'returns' implies reading, but this is not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence, which is concise and front-loaded. It earns its place by stating the tool's purpose, though it could include more useful details without significant bloat.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and one optional parameter, the description should hint at the return format or contents of 'scan job summaries'. It lacks this context, making it incomplete for an agent to fully understand the output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the only parameter 'limit' is described in the schema). The tool description adds no extra meaning beyond the schema, but baseline 3 is appropriate as the schema already covers the parameter's semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Returns past scan job summaries' clearly states the verb and resource. It is distinguishable from siblings like sieve_scan_status and sieve_findings_list by the 'history' aspect, though it does not explicitly mention differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like sieve_scan_status or sieve_findings_list. The description only states what it does without any usage context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sieve_scan_statusA

Returns status of the current or most recent scan: idle, running, completed, or failed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the tool returns a status string with enumerated values, implying a read operation. However, it does not explain behavior such as polling, prerequisites (e.g., must a scan have been started?), or whether it can be called independently. The disclosure is minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that lists the possible return values. It is highly concise with no wasted words, adequate for a tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description sufficiently covers what it returns and the possible values. It does not elaborate on the meaning of 'current or most recent scan,' but that is acceptable for a simple status check. Almost complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no parameters, so the description does not need to add parameter information. The baseline for no parameters is 4, and the description does not address parameters because there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the status of the current or most recent scan, listing the possible values (idle, running, completed, failed). This distinguishes it from siblings like sieve_scan_history or sieve_health_status, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as sieve_scan_history for detailed history or sieve_health_status for system health. The description does not mention when not to use it or any prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sieve_self_testB

Verifies scanner rules and transcript source coverage are healthy.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden for behavioral disclosure. It states the tool verifies health but does not indicate if it is read-only, what the return value or side effects are, or any required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It is front-loaded with the key action and resource.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has no parameters and no output schema. The description explains the action but lacks details on what the result indicates (e.g., what 'healthy' means) or any implicit effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has zero parameters with 100% coverage, so baseline is 4. The description adds meaning by explaining the tool's purpose beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the verb 'Verifies' and specifies the resource: 'scanner rules and transcript source coverage'. It clearly states the tool's function, though it does not explicitly differentiate from the sibling 'sieve_health_status', which might have a similar scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like sieve_health_status or other siblings. There is no mention of prerequisites, exclusions, or preferred contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sieve_vault_runA

Executes a command with macOS Keychain-resolved secrets injected as env vars. Returns exit code and line counts only — stdout/stderr content is never returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesShell command to execute
fingerprintsNoFingerprints of vault secrets to inject

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It discloses that secrets are injected as env vars and that stdout/stderr are not returned. However, it does not mention potential side effects, authentication requirements, or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no unnecessary words. Every phrase adds meaning: 'with macOS Keychain-resolved secrets injected as env vars' and 'stdout/stderr content is never returned'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers input (command and fingerprints) and output (exit code and line counts). It lacks error scenarios or execution environment details, but for a 2-param tool with no output schema, this is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining that fingerprints are used to inject secrets from Keychain, clarifying the purpose beyond the parameter descriptions. It does not add syntax details but reinforces the role.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes a command with secrets injected from macOS Keychain, and specifies what is returned (exit code and line counts) and what is not (stdout/stderr). This distinguishes it from siblings like sieve_check_text or sieve_redact_text.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for running commands with secure secrets, but does not provide explicit guidance on when to use this tool vs alternatives, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updatesv1.0.0
    • First observedsieve_check_text
    • First observedsieve_findings_list
    • First observedsieve_health_status
    • First observedsieve_issue_list
    • First observedsieve_redact_text
    • First observedsieve_scan_history
    • First observedsieve_scan_status
    • First observedsieve_self_test
    • First observedsieve_vault_run

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct function: check vs redact text, list findings, health, issues, scan history/status, self-test, and vault run. No two tools have overlapping purposes, ensuring clear differentiation for an agent.

Naming Consistency4/5

All tools share the 'sieve_' prefix and use snake_case, which is good. However, the part-of-speech order varies: some are verb_noun (check_text, redact_text), others are noun_noun (findings_list, health_status). This minor inconsistency prevents a perfect score.

Tool Count5/5

With 9 tools, the server covers its core domain (secrets scanning and vault management) without bloat. Each tool addresses a specific need, and the count feels well-scoped for the functionality offered.

Completeness4/5

The tool set covers essential operations: checking, redacting, listing findings, health, issues, scan history/status, self-test, and vault execution. A minor gap is the absence of a tool to trigger a scan or manage vault entries, but the core workflows are supported.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Secret management MCP server for AI coding agents that prevents secrets from entering the LLM context window by returning metadata only and using side-channel injection. Integrates with Bitwarden and offers hooks for auto-capture and leak prevention.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A read-only MCP server that exposes data from native macOS apps (Mail, Notes, Calendar, Reminders, Contacts, Messages, Spotlight) to AI agents over stdio, currently in early development with no domain tools wired yet.
    14
    4
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Local CLI and MCP server that redacts secrets from logs, files, and diffs before sending them to AI agents, with stable placeholders and token-budgeted truncation.
    MIT