agent-keys
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agent-keyscheck my OpenAI API key"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
agent-keys
MCP server that lets AI agents autonomously acquire and manage API keys.
The Problem
AI agents frequently need API keys to accomplish tasks — sending emails, making calls, running models, storing data. Today this requires a human to manually create accounts, navigate dashboards, and paste keys into configs. agent-keys gives agents a structured, secure interface to discover services, get provisioning instructions, store retrieved keys, verify they work, and export them as environment variables — all without human intervention after initial setup.
Related MCP server: Agentic Vault
Quick Start
Via npx (no install required)
npx @gonzih/agent-keysMCP Configuration
Add to your MCP config file (e.g. ~/.claude/claude_desktop_config.json or ~/.config/claude-code/config.json):
{
"mcpServers": {
"agent-keys": {
"command": "npx",
"args": ["@gonzih/agent-keys"],
"env": {
"AGENT_KEYS_SECRET": "your-strong-encryption-secret"
}
}
}
}Claude Code Config
Add to your Claude Code settings:
{
"mcpServers": {
"agent-keys": {
"command": "npx",
"args": ["@gonzih/agent-keys"],
"env": {
"AGENT_KEYS_SECRET": "your-strong-encryption-secret"
}
}
}
}Tools
list_services
List all 26 supported services with their category, description, signup URL, and whether a key is stored.
Input: none
Output:
[
{
"name": "openai",
"displayName": "OpenAI",
"category": "ai",
"description": "AI research company providing GPT-4, DALL-E, Whisper, and embeddings APIs.",
"signupUrl": "https://platform.openai.com/signup",
"has_key": true,
"freetier": "$5 free credit for new accounts (limited time)",
"envVarName": "OPENAI_API_KEY"
}
]get_api_key
Retrieve a stored API key. Returns the key if found, or provisioning guidance if not.
Input:
{ "service": "openai" }Output (found):
{
"found": true,
"service": "openai",
"key": "sk-proj-...",
"stored_at": "2024-01-15T10:30:00.000Z",
"envVarName": "OPENAI_API_KEY"
}Output (not found):
{
"found": false,
"service": "openai",
"message": "No API key stored for OpenAI. Use provision_api_key to get instructions.",
"signupUrl": "https://platform.openai.com/signup"
}store_api_key
Store an API key in the encrypted vault.
Input:
{
"service": "openai",
"key": "sk-proj-...",
"metadata": { "org": "my-org", "created_by": "agent" }
}Output:
{
"success": true,
"service": "openai",
"displayName": "OpenAI",
"message": "API key for OpenAI stored successfully.",
"envVarName": "OPENAI_API_KEY"
}check_api_key
Verify a stored key is still valid by calling the service's test endpoint.
Input:
{ "service": "openai" }Output:
{
"valid": true,
"service": "openai",
"displayName": "OpenAI",
"status": 200,
"message": "API key for OpenAI is valid."
}Services with test endpoints: openai, sendgrid, stripe, github, groq, together-ai, elevenlabs, deepgram, replicate, brave-search, serper, tavily.
provision_api_key
Get step-by-step instructions and the direct signup URL for acquiring an API key.
Input:
{ "service": "groq" }Output:
{
"service": "groq",
"displayName": "Groq",
"signupUrl": "https://console.groq.com/login",
"steps": [
"Go to https://console.groq.com/login",
"Create a free account or sign in",
"Navigate to https://console.groq.com/keys",
"Click 'Create API Key'",
"Give it a name and click 'Submit'",
"Copy the generated API key immediately (shown only once)",
"Store it using store_api_key with service 'groq'"
],
"freetier": "Free tier with generous rate limits"
}remove_api_key
Delete a key from the vault.
Input:
{ "service": "openai" }Output:
{
"success": true,
"service": "openai",
"message": "API key for OpenAI removed from vault."
}export_env
Generate shell export statements for stored keys.
Input:
{ "services": ["openai", "anthropic"] }Or omit services to export all stored keys.
Output:
{
"exports": [
"export OPENAI_API_KEY=\"sk-proj-...\"",
"export ANTHROPIC_API_KEY=\"sk-ant-...\""
],
"shell": "export OPENAI_API_KEY=\"sk-proj-...\"\nexport ANTHROPIC_API_KEY=\"sk-ant-...\"",
"count": 2
}Supported Services
AI (5 services)
Name | Display Name | Free Tier | Env Var |
| OpenAI | $5 credit (new accounts) |
|
| Anthropic | Free tier with rate limits |
|
| Replicate | Pay-per-use, free community models |
|
| Together AI | $25 free credit |
|
| Groq | Free tier, generous limits |
|
Communication (6 services)
Name | Display Name | Free Tier | Env Var(s) |
| Twilio | $15 trial credit |
|
| SendGrid | 100 emails/day forever |
|
| Mailgun | 100 emails/day, 3 months |
|
| Postmark | 100 emails/month forever |
|
| Vonage (Nexmo) | $2 trial credit |
|
| Telnyx | $1 credit on signup |
|
Voice (3 services)
Name | Display Name | Free Tier | Env Var |
| ElevenLabs | 10,000 chars/month |
|
| Deepgram | $200 free credit |
|
| AssemblyAI | $50 free credit |
|
Infrastructure (8 services)
Name | Display Name | Free Tier | Env Var |
| Stripe | No monthly fee |
|
| GitHub | Free for personal use |
|
| Cloudflare | Free plan available |
|
| Vercel | Hobby plan free |
|
| Railway | $5 credit/month |
|
| Supabase | 2 free projects |
|
| PlanetScale | 5GB free storage |
|
| Upstash | 10,000 commands/day |
|
Data (4 services)
Name | Display Name | Free Tier | Env Var |
| Serper | 2,500 free searches |
|
| Brave Search | 2,000 queries/month |
|
| Tavily | 1,000 calls/month |
|
| Firecrawl | 500 credits on signup |
|
Adding a New Service
Edit src/registry.ts and add a new object to the registry array:
{
name: 'my-service', // slug used in tool calls
displayName: 'My Service', // human-readable name
category: 'ai', // 'communication' | 'ai' | 'voice' | 'infrastructure' | 'data'
description: 'What it does.',
signupUrl: 'https://myservice.com/signup',
docsUrl: 'https://docs.myservice.com/api',
envVarName: 'MY_SERVICE_API_KEY',
freetier: 'Description of free tier',
programmatic: false,
provisioningSteps: [
'Go to https://myservice.com/signup',
'Create an account',
'Navigate to API Keys',
'Click Create Key',
'Copy the key',
'Store it using store_api_key with service "my-service"',
],
testEndpoint: { // optional
url: 'https://api.myservice.com/v1/me',
method: 'GET',
headers: (key: string) => ({ Authorization: `Bearer ${key}` }),
successStatus: 200,
},
}Then run npm run build.
Security
Encryption: AES-256-GCM with scrypt key derivation (N=16384, r=8, p=1)
Per-write randomness: Each vault write uses a fresh 16-byte salt and 16-byte IV
Auth tag: GCM auth tag prevents undetected tampering
Plaintext fallback: If
AGENT_KEYS_SECRETis not set, keys are stored unencrypted with a warningVault location:
~/.agent-keys/vault.jsonby default; override withAGENT_KEYS_VAULTSecret management: Never commit
AGENT_KEYS_SECRETto source control; use env vars or a secrets manager
Development
# Install dependencies
npm install
# Build TypeScript
npm run build
# Run directly with tsx (no build step)
npm run devLicense
MIT
Available Tools
7 toolscheck_api_keyA
Verify a stored API key still works by hitting the service's test endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions hitting a test endpoint, but does not clarify whether this modifies anything, requires authentication, or has rate limits. For a verification tool, the lack of side-effect details is a gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded with the verb 'Verify'. Every word contributes meaning; no wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (1 param, no output schema) but the description omits what the verification returns (e.g., boolean, status message). For a verification tool, this return context is important for the agent to properly use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single 'service' parameter described as 'Service name'. The description adds no additional meaning beyond the schema, so baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Verify' and the resource 'a stored API key', specifying the action 'hitting the service's test endpoint.' This distinguishes it from sibling tools like get_api_key (retrieve key) or store_api_key (save new key).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or alternatives. While the tool's function is straightforward, it doesn't mention prerequisites (e.g., key must be stored) or when not to use it. A brief context would help, given sibling tools exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_envA
Export stored API keys as shell export statements (e.g. export OPENAI_API_KEY=...).
| Name | Required | Description | Default |
|---|---|---|---|
| services | No | Optional list of service names to export. If omitted, exports all stored keys. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description does not disclose important behavioral traits such as security implications (keys in plain text), output format, or behavior when no keys are stored.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with an example, concise and to the point with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema, the description does not specify the exact return format or error handling. It is adequate but leaves some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The services parameter is well-documented in the schema. The description adds context by explaining that omission exports all keys and provides an example output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool exports stored API keys as shell export statements, with an example. It distinguishes from siblings like get_api_key or list_services.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for shell environment export but does not explicitly clarify when to use vs alternatives like get_api_key (single key) 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.
get_api_keyA
Get a stored API key for a service. Returns the key if stored, or provisioning guidance if not.
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service name (e.g. openai, twilio, stripe) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must disclose behavior. It accurately states that the tool returns the key if stored, otherwise provides provisioning guidance. This reveals the two possible outcomes and suggests it is a read-only lookup, which is sufficient for a simple retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at two sentences, with the purpose front-loaded. Every word is necessary and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema, no annotations), the description covers the core behavior adequately. It specifies the return value in both cases, which is sufficient for an agent to understand what to expect. However, it could have mentioned that the operation is read-only and does not modify state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'service' parameter, which already includes examples. The description adds no extra meaning beyond restating 'for a service', so it meets the baseline but does not enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get a stored API key') and the resource ('for a service'). It distinguishes from siblings by specifying the two possible outcomes ('key if stored, or provisioning guidance if not'), which contrasts with other tools like store, provision, or remove.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when retrieving a stored API key, but it does not explicitly state when to avoid this tool or mention alternatives like check_api_key or provision_api_key. The sibling list is not referenced for guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_servicesA
List all supported services with their status (whether a key is stored), category, description, and signup URL.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 correctly states the tool returns status, category, description, and signup URL, but does not explicitly confirm it is read-only or has no side effects. Given the sibling tools that mutate keys, this is adequate but lacks an explicit safety statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the verb 'List' and clearly enumerates the returned fields. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With zero parameters and no output schema, the description fully conveys what the tool does and what information is returned. For a list tool, this is complete and sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so baseline 4 applies. The description adds meaning by specifying the content of the returned items (status, category, description, signup URL), which is valuable beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('list') and resource ('all supported services'), and details exactly what information is returned (status, category, description, signup URL). This clearly distinguishes it from sibling tools that operate on individual API keys.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: call this to see available services and whether a key is stored. It does not explicitly state when not to use it or mention alternatives, but the purpose is straightforward and the sibling tools are all about key management, not listing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provision_api_keyB
Get step-by-step instructions and direct signup URL for acquiring an API key for a service.
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states that instructions and URL are returned, but does not disclose if this operation is read-only, has side effects, requires authentication, or what happens if the service does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence clearly conveys purpose. No filler or redundancy, but could be slightly more informative about the output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simplicity (1 param, no output schema, no annotations), the description is adequate. However, it lacks details on the format of instructions/URL and error handling, and does not leverage context of sibling tools to clarify usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter 'service' with schema description 'Service name'. Schema description coverage is 100%, so the description adds no additional meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states the tool provides step-by-step instructions and a signup URL for acquiring an API key. The verb 'get' and resource 'instructions/URL' are specific, and the tool is clearly distinguished from siblings like get_api_key (which retrieves existing keys) and store_api_key (which stores keys).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 vs alternatives. The description does not mention when not to use it, prerequisites, or mention siblings like list_services or check_api_key.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_api_keyB
Remove an API key from the vault.
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only says 'Remove' without disclosing destructive nature, authentication needs, error handling (e.g., key not found), or 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One clear sentence, front-loaded with action. Could be slightly more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Simple tool but lacks return value details, error scenarios, or post-removal behavior. With no output schema, description should provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (service parameter described as 'Service name'). Description adds no extra meaning beyond schema. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove') and the target ('API key from the vault'). It effectively distinguishes from sibling tools like list_services, get_api_key, store_api_key, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., check_api_key, provision_api_key). Missing when-not or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
store_api_keyB
Store an API key in the encrypted vault.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The API key to store | |
| service | Yes | Service name | |
| metadata | No | Optional metadata (account info, notes, etc.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description does not disclose behavioral traits such as overwrite policy, encryption details, or security implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is very concise and front-loaded, but could be slightly more structured without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity, the description lacks context about behavior, return values, and relationship to sibling tools, leaving gaps for a security-critical operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3; the description adds no extra parameter information beyond what is in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'store' and the resource 'API key' in the encrypted vault, distinguishing it from siblings like list_services or get_api_key.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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; missing context like prerequisites or typical use cases.
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. Dates show when Glama detected each change.
7 tool updates
v0.1.0- First observed
check_api_key - First observed
export_env - First observed
get_api_key - First observed
list_services - First observed
provision_api_key - First observed
remove_api_key - First observed
store_api_key
TDQS
Each tool has a clearly distinct purpose: listing services, getting/storing/checking/provisioning/removing keys, and exporting. No overlap.
All tool names follow a consistent verb_noun pattern (e.g., list_services, get_api_key, store_api_key). The use of 'env' in export_env is a different noun but still fits the pattern.
7 tools is well-scoped for managing API keys, covering all essential operations without being excessive or insufficient.
The tool surface covers the full lifecycle: discovery, storage, retrieval, verification, provisioning guidance, deletion, and export. No obvious gaps.
Maintenance
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
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
9 remote MCP servers on Cloudflare Workers for AI agents. Free tier + Pro API keys.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceA personal MCP server for securely storing and accessing API keys across projects using the macOS Keychain, letting AI assistants and applications retrieve credentials through natural language.25-
- AlicenseNot gradedqualityCmaintenanceMCP server that lets AI agents call APIs without ever seeing the credentials, using a local encrypted vault and per-secret allowlist policies for HTTP requests and subprocess environment variables.1AGPL 3.0
- AlicenseNot gradedqualityCmaintenanceMCP server enabling AI agents to use secrets (API keys, tokens) via encrypted vault, executing HTTP/shell/SSH actions server-side while never exposing secret values to the AI.MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for AI-native credential management, enabling agents to securely store, retrieve, and manage API keys with encryption, spending budgets, and audit logging.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Gonzih/agent-keys'
If you have feedback or need assistance with the MCP directory API, please join our Discord server