Class: Mcp::Secrets
- Inherits:
-
Object
- Object
- Mcp::Secrets
- Defined in:
- lib/mcp/secrets.rb
Overview
CRUD operations for MCP server secrets stored in the encrypted secrets table. Secrets live under the mcp namespace:
Mcp::Secrets.set("linear_api_key", "sk-xxx")
Mcp::Secrets.get("linear_api_key") #=> "sk-xxx"
Referenced in mcp.toml via ${credential:key_name} syntax, resolved at runtime by Config#interpolate_credentials.
Constant Summary collapse
- NAMESPACE =
"mcp"- VALID_KEY_PATTERN =
Keys must be interpolatable via $credential:key_name in mcp.toml.
/\A\w+\z/
Class Method Summary collapse
-
.get(key) ⇒ String?
Retrieves a secret from encrypted storage.
-
.list ⇒ Array<String>
Lists all stored MCP secret keys (not values).
-
.remove(key) ⇒ void
Removes a secret from encrypted storage.
-
.set(key, value) ⇒ void
Stores a secret in encrypted storage.
Class Method Details
.get(key) ⇒ String?
Retrieves a secret from encrypted storage.
41 42 43 |
# File 'lib/mcp/secrets.rb', line 41 def get(key) CredentialStore.read(NAMESPACE, key) end |
.list ⇒ Array<String>
Lists all stored MCP secret keys (not values).
48 49 50 |
# File 'lib/mcp/secrets.rb', line 48 def list CredentialStore.list(NAMESPACE) end |
.remove(key) ⇒ void
This method returns an undefined value.
Removes a secret from encrypted storage.
56 57 58 |
# File 'lib/mcp/secrets.rb', line 56 def remove(key) CredentialStore.remove(NAMESPACE, key) end |
.set(key, value) ⇒ void
This method returns an undefined value.
Stores a secret in encrypted storage.
32 33 34 35 |
# File 'lib/mcp/secrets.rb', line 32 def set(key, value) validate_key!(key) CredentialStore.write(NAMESPACE, key => value) end |