Skip to main content
Glama
LBZ558

prophetkey-mcp

ProphetKey — API Key Vault for AI Agents

Offline-first, encrypted API key vault with local MCP bridge for AI agents.

What is ProphetKey?

ProphetKey is a desktop app that securely stores API keys (OpenAI, Anthropic, GitHub, etc.) and exposes a local MCP server (127.0.0.1:1421/mcp). AI agents can call 5 tools over stdio or HTTP to read keys, check health, and make API calls — real keys never reach the agent.

Related MCP server: AgentVault MCP Server

Quick start (stdio via npm)

Install and configure in one step — works with Claude Code, Cursor, Windsurf, and any MCP-compatible agent.

# One-liner to run
npx -y prophetkey-mcp

Available Tools

5 tools
prophetkey_get_key_infoA

Get detailed information about a specific API key (name, provider, safe_key, health status). Does NOT return the real key value.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe key name

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose a key behavioral trait: it does NOT return the real key value, which is important for privacy/safety. However, it does not mention other behavioral aspects such as read-only nature, required permissions, or error behavior. The single disclosure is valuable but not exhaustive.

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 that immediately states the purpose and then lists returned fields and the key exclusion. There is no fluff or redundant information, and every element earns its place.

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?

For a simple tool with one parameter and no output schema, the description is nearly complete. It tells what the tool returns, what it does not return, and the parameter is clearly identified. It could optionally mention error behavior or the format of 'safe_key' and 'health status', but these are not necessary for correct invocation.

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 only parameter 'name' is described in the schema as 'The key name', and the description adds no additional meaning beyond that. Since schema description coverage is 100%, the baseline is 3. The description does not clarify the expected format, case sensitivity, or relationship to other parameters.

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 states a specific verb ('Get'), a specific resource ('detailed information about a specific API key'), and lists the fields returned (name, provider, safe_key, health status). It also explicitly differentiates from sibling tools by noting it does NOT return the real key value, which distinguishes it from list_keys or proxy_status.

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 this is for retrieving details of a single key by name, but it does not explicitly state when to use this versus alternatives like prophetkey_list_keys (for listing all keys) or prophetkey_make_request (for making requests). The usage context is clear from the purpose, but no explicit exclusions or alternatives are mentioned.

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

prophetkey_health_checkA

Run a health check on all stored API keys (expiry, usage, security score).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It states what the check covers (expiry, usage, security score) and implies a read-only health assessment, but it does not explicitly confirm it is non-mutating or describe side effects, output shape, or potential rate-impact.

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?

A single front-loaded sentence with no filler. It communicates the action, scope, and the specific health dimensions in under 20 words.

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?

For a zero-parameter tool with no output schema, the description is largely complete: it tells the agent what operation to invoke and what the health check examines. The only gap is not describing the return format, but no output schema is required and the purpose is clear enough for correct invocation.

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?

There are zero parameters, so per the rubric the baseline is 4. The description does not need to explain parameter meanings, and the empty schema is consistent with an aggregate check over all stored keys.

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 uses a specific verb ('Run a health check') and a clear resource ('all stored API keys'), with concrete attributes checked: expiry, usage, and security score. This differentiates it from siblings like get_key_info, which targets a single key, and list_keys, which simply lists.

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 makes the scope ('all stored API keys') and purpose clear, so when to run an aggregate health check is implied. However, it does not explicitly contrast this with alternatives such as get_key_info for a single key or list_keys for a plain listing.

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

prophetkey_list_keysA

List all API keys stored in ProphetKey. Returns safe_keys (not real keys) for use with the local proxy.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoFilter by provider name (optional)

TDQS

A4/5.0
Behavior4/5

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

No annotations are present, so the description carries the burden. It discloses that the tool returns safe_keys and not real keys, which is a nontrivial behavior for agents to know. It does not mention additional traits like pagination or error behavior, but for a simple list operation this is adequate.

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 filler. The core action is front-loaded, and the safe_keys caveat is a single clarifying clause.

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?

For a simple optional-filter list tool, the description explains the return value (safe_keys) and its purpose (local proxy). No output schema exists, but the response concept is adequately conveyed for an agent to call and interpret the result.

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 the provider parameter is already documented in the schema. The description adds no extra parameter semantics beyond the schema.

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?

States the specific action (List all) and resource (API keys stored in ProphetKey), and clarifies that it returns safe_keys rather than real keys. This differentiates it from siblings like get_key_info, which targets a single key's details.

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 implicitly signals this is the tool for enumerating available keys for the local proxy, but it does not explicitly state when to prefer it over siblings such as prophetkey_get_key_info or mention exclusions. No when-not-to-use guidance is provided.

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

prophetkey_make_requestA

Make an API request through the ProphetKey proxy. The proxy automatically injects the real API key. The AI agent never sees the real key.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoRequest body (for POST/PUT)
methodYesHTTP method
endpointYesThe API endpoint path (e.g., /v1/chat/completions)
safe_keyYesThe safe_key identifier for the API key to use

TDQS

A3.9/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 behavioral burden. It usefully discloses that the proxy injects the real API key and that the agent never sees it. However, it does not mention potential side effects of making requests (e.g., DELETE may mutate external resources), error handling, rate limits, or the response format. The disclosure is helpful but incomplete.

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 concise sentences, front-loaded with the core purpose and followed by a key security detail. There is no filler, redundancy, or unnecessary explanation. Every sentence earns its place.

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?

Given a 4-parameter tool with no annotations and no output schema, the description is somewhat minimal. It explains the proxy's key-handling behavior but omits response shape, error behavior, and how the safe_key relates to the sibling key-management tools. The schema covers parameters, and the purpose is clear, but the complete operational picture is not fully described.

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 description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by explaining why safe_key exists: the proxy automatically injects the real key and keeps it hidden from the agent. This clarifies the role of safe_key, though endpoint, method, and body semantics remain schema-defined without additional description.

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's function: 'Make an API request through the ProphetKey proxy.' This is a specific verb-resource pairing that distinguishes it from sibling tools like prophetkey_list_keys and prophetkey_proxy_status, which are inspection/status operations rather than request execution.

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: it is the tool to make actual API calls through the proxy. However, it does not explicitly say when to choose this over the sibling tools, nor does it mention prerequisites such as obtaining a safe_key from prophetkey_list_keys. The context is clear but the guidance is implied rather than stated.

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

prophetkey_proxy_statusA

Get the current status of the ProphetKey local proxy (running, port, keys count, request stats).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the behavioral burden. It reveals the tool is read-only and shows the output categories, but it does not explicitly state that no side effects occur or how it behaves if the proxy is not running. Some behavior is implied by 'status' but not fully specified.

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?

A single, front-loaded sentence states the operation and its key output fields without wasted words. It is easy to scan and contains no redundant filler.

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?

For a simple zero-parameter status tool, the description gives enough context to decide to invoke it and know the general shape of the result. The phrase 'request stats' is somewhat vague and no output schema exists, but the operation is simple enough that the missing detail is not critical.

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 tool accepts zero parameters, and schema coverage is 100%, so there are no parameter semantics for the description to add. This matches the baseline of 4 for a no-parameter tool.

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 names a specific verb and resource ('Get the current status of the ProphetKey local proxy') and enumerates the included information (running, port, keys count, request stats). It does not explicitly differentiate from the sibling 'prophetkey_health_check', so it is clear but not fully distinguished.

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?

There is no guidance about when to use this tool versus alternatives such as prophetkey_health_check or prophetkey_make_request. The description only says what it does, not which situations favor it or when to prefer a sibling.

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. 5 tool updatesv1.2.1
    • First observedprophetkey_get_key_info
    • First observedprophetkey_health_check
    • First observedprophetkey_list_keys
    • First observedprophetkey_make_request
    • First observedprophetkey_proxy_status

TDQS

A4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: listing keys, retrieving key details, checking proxy status, running health checks, and making proxied requests. There is no meaningful overlap that would cause an agent to select the wrong tool.

Naming Consistency5/5

All tools follow a consistent `prophetkey_` prefix with snake_case verb_noun names. The pattern is uniform and predictable across the entire set.

Tool Count5/5

Five tools is a well-scoped size for this server's purpose. Each tool covers a distinct aspect of interacting with ProphetKey and its proxy without unnecessary bloat or redundancy.

Completeness4/5

The set covers the core workflows: discovering keys, inspecting key details, checking health, monitoring the proxy, and making authenticated requests. Lifecycle operations like adding or deleting keys are absent, but they appear intentionally handled outside the MCP server rather than being an obvious gap.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Encrypted credential vault with a 21-tool MCP server. Store and manage LLM API keys, service API keys, and OAuth credentials — then let your AI agent list, reveal, rotate, rename, pause, and proxy calls through them.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to securely manage API keys and secrets via the MCP protocol, with encrypted storage at rest and a simple CLI and Python SDK.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides MCP tools for AI agents to securely access approved 1Password logins via encrypted handles, resolving secrets locally through the 1Password CLI without exposing plaintext passwords.
    206 npm
    MIT