Class: Mcp::Secrets
- Inherits:
-
Object
- Object
- Mcp::Secrets
- Defined in:
- lib/mcp/secrets.rb
Overview
CRUD operations for MCP server secrets stored in Rails encrypted credentials. Secrets live under the mcp namespace in the credentials file:
mcp:
linear_api_key: "sk-xxx"
mythonix_api_key: "Bearer tok-yyy"
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 credentials.
-
.list ⇒ Array<String>
Lists all stored MCP secret keys (not values).
-
.remove(key) ⇒ void
Removes a secret from encrypted credentials.
-
.set(key, value) ⇒ void
Stores a secret in encrypted credentials.
Class Method Details
.get(key) ⇒ String?
Retrieves a secret from encrypted credentials.
42 43 44 |
# File 'lib/mcp/secrets.rb', line 42 def get(key) CredentialStore.read(NAMESPACE, key) end |
.list ⇒ Array<String>
Lists all stored MCP secret keys (not values).
49 50 51 |
# File 'lib/mcp/secrets.rb', line 49 def list CredentialStore.list(NAMESPACE) end |
.remove(key) ⇒ void
This method returns an undefined value.
Removes a secret from encrypted credentials.
57 58 59 |
# File 'lib/mcp/secrets.rb', line 57 def remove(key) CredentialStore.remove(NAMESPACE, key) end |
.set(key, value) ⇒ void
This method returns an undefined value.
Stores a secret in encrypted credentials.
33 34 35 36 |
# File 'lib/mcp/secrets.rb', line 33 def set(key, value) validate_key!(key) CredentialStore.write(NAMESPACE, key => value) end |