Elfa MCP
OfficialThis server is an MCP server providing crypto social intelligence and automated market monitoring (Auto) tools. You can:
Check API status: Verify API key tier, credit usage, and remaining requests.
Get social mentions: Retrieve X/Twitter and Telegram mentions, rank by engagement, search by keywords/account, or browse a token news feed.
Discover trending topics: See tokens or contract addresses gaining social attention with mention volume changes.
Read narrative analysis: Get AI-written market narrative summaries or keyword-specific summaries with source links.
Analyze X accounts: Get smart follower counts, engagement stats, and reach metrics for credibility.
Chat with market analyst: Ask for written market analysis in conversational, macro, summary, token, or account modes.
Build Auto queries: Convert plain-language monitoring requests into EQL queries for automated market watching.
Validate Auto queries: Check EQL syntax and estimate credit costs before activation.
Read Auto query state: List, poll, view executions, and read LLM analysis sessions.
Manage Auto queries: Activate, cancel, or delete automated monitoring queries; fire actions like notifications, webhooks, Telegram messages, or LLM analysis when conditions are met.
Manage Auto drafts: Save, update, list, and convert inactive drafts.
Manage exchange connections: List, connect, disconnect exchanges (Binance, Pacifica, Hyperliquid, GMX) and validate tradeable symbols.
Allows connecting a Binance exchange account so Auto queries can place orders when conditions are met.
Allows using a GMX exchange account for Auto queries to place orders when conditions are met.
Provides access to social mentions from Telegram and allows Auto queries to message a Telegram bot as an action.
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., "@Elfa MCPwhat's trending in crypto right now?"
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.
Elfa MCP
Model Context Protocol server for the Elfa API — crypto social intelligence from X and Telegram, plus Auto, a condition engine that watches the market and fires an action when your conditions are met.
Works with any MCP client: Claude Code, Claude Desktop, Cursor, VS Code, Codex, and anything else that speaks MCP.
Install
Get an API key at dev.elfa.ai. No install step — npx fetches the server on demand.
One click
Claude Desktop
Download elfa-mcp-<version>.mcpb from the latest release and open it. Claude Desktop installs it, prompts for your API key, and keeps it updated. Nothing else to configure.
Claude Code
claude mcp add elfa --env ELFA_API_KEY=your-key -- npx -y @elfa-ai/mcpCursor, VS Code, Claude Desktop, and other clients
{
"mcpServers": {
"elfa": {
"command": "npx",
"args": ["-y", "@elfa-ai/mcp"],
"env": {
"ELFA_API_KEY": "your-key"
}
}
}
}VS Code uses "servers" instead of "mcpServers". Everything else is the same.
Ask "what's trending in crypto right now?" to confirm it works.
Related MCP server: onchain-safety-mcp
Configuration
Variable | Required | Purpose |
| yes | Authenticates every request |
| no | Request timeout in ms, default |
| no | Retries on failure, default |
| no | Response size ceiling, default |
| no | JSON object of extra headers to send upstream, for proxies and non-production environments |
The timeout is high and retries are off on purpose. The interpretation endpoints are LLM-backed and can take over a minute, and they cost credits per attempt, so a silent retry would bill you again for a call you never saw. Raise ELFA_RETRIES only if you are calling the cheap measurement endpoints.
Some MCP clients apply their own timeout, often around 60 seconds. narratives and market_chat can exceed that; the request still completes and is still charged, even if the client gives up first.
Tools
11 tools, mapped to every documented /v2 operation.
Tool | Mode | Cost | What it does |
| read | Free | Check API key tier, credit usage and remaining requests. Also confirms the API is reachable. |
| read | 1 per call | Social mentions from X and Telegram. mode=top ranks a ticker's mentions by engagement, mode=search filters by keyword or account, mode=news returns the token news feed, which is X posts from accounts tagged as news sources rather than articles from news outlets. |
| read | 1 per call | What is gaining social attention. scope=tokens for tickers, scope=contracts_twitter or scope=contracts_telegram for contract addresses. |
| read | 5 per call | Written narrative analysis with source links. scope=market extracts market-wide narratives, scope=keywords summarises events for specific keywords. |
| read | 1 per call | Smart follower and engagement stats for an X account. Legacy: it still works, but will be removed on 28 October 2026. |
| read | Varies by speed | Ask for written market analysis. Supports conversational chat, macro overview, quick summary, token intro, token analysis and account analysis. |
| read | 1 plus LLM usage | Turn a plain-language monitoring request into an EQL query. Returns a draft to validate and activate, it does not activate anything itself. |
| read | Free | Check EQL syntax and get a cost estimate before activating, or check that a symbol has market data on a venue. |
| read | Free | Read side of Auto: list queries, poll one query, and read its executions and LLM sessions. |
| write | 5 plus LLM usage to create, free to cancel or delete | Activate, cancel or delete an Auto query. Activated queries run unattended and fire their action when conditions are met. |
| write | Free, except convert which costs the same as creating a query | Manage inactive Auto drafts. Drafts do not evaluate until converted into an active query. |
Not exposed as tools:
getMarketEvents-v2— Available only to select Enterprise customers, and the published operation takes no parameters. Contact sales@elfa.ai for access.chat-stream-v2— A tool call returns one result, so streaming adds nothing. market_chat covers the same analysis.auto-stream-queries-v2— Long lived streams have no tool equivalent. Poll with auto_query.auto-stream-query-v2— Long lived streams have no tool equivalent. Poll with auto_query.
Streaming endpoints stay available through the SDKs for applications that can consume SSE.
Where this differs from the raw API
The tools deliberately do not inherit every API default, because an agent pays for verbosity in context.
API | Here | Why | |
| 10 to 50 depending on endpoint, max 100 | 10 | Page through rather than pull everything |
|
|
| Cheaper by default, ask for |
Mention fields | full record | high signal fields | Pass |
Large responses | returned whole | trimmed to fit, with a note | Keeps one call from filling the context window |
Every value is still settable per call, and pageSize accepts up to 100.
Auto
Auto queries run unattended. Once armed, a query keeps evaluating and fires its action without asking again.
The flow is three steps:
auto_build— describe what to watch in plain language, get EQL backauto_validate— check the syntax and get the credit costauto_query_write— activate it
Actions can notify you, call a webhook, message a Telegram bot, or run an LLM analysis.
There is no push channel over MCP. Poll auto_query with method=get, and wait for the returned pollAfterSeconds between calls.
Remote server
The same server runs over Streamable HTTP for hosted deployments:
ELFA_MCP_TRANSPORT=http ELFA_MCP_PORT=3000 npx -y @elfa-ai/mcpIt is stateless — no sessions, one server instance per request, safe behind a load balancer. Credentials come from the x-elfa-api-key request header, falling back to the environment.
DNS rebinding protection is on by default. The server accepts only the loopback names it binds — localhost:PORT and 127.0.0.1:PORT — which covers the local run above and nothing else. Any deployment that answers on a different Host must list the values it serves:
ELFA_MCP_ALLOWED_HOSTS=mcp.example.comThat includes a public domain, a reverse proxy, and a container that maps the port to a different one than the server binds. A Host the list does not cover is rejected with 403.
Variable | Required | Purpose |
| no |
|
| no | Bind address, default |
| no | Bind port, default |
| no | Comma separated |
| no | Comma separated |
Set ELFA_MCP_ALLOWED_ORIGINS as well when browsers call the server directly. It complements the host allowlist rather than replacing it: a rebound request is same origin, so it carries no Origin header for that list to check, and the Host header is the only one still naming the attacker's domain.
Safety
api_status is the fastest way to tell an auth problem from a credit problem.
Mentions, news and narratives return third-party social text that anyone can write. The server marks it as untrusted in every response, and the server instructions tell the model to treat it as data. Keep that in mind before letting an agent chain from that content into auto_query_write.
Development
npm install
npm run build
npm run verifynpm run verify runs typecheck, tests, the spec drift check, and the docs check.
manifest.json maps every documented API operation to the tool that covers it. npm run check:drift fails if the API grows an operation the server does not handle. The tool table above is generated from the same file with npm run docs:tools.
Links
License
MIT
Available Tools
12 toolsaccount_statsAccount statsARead-onlyIdempotent
Smart follower and engagement stats for an X account. 1 credit per call. Use it to judge whether an account's reach is real before weighting what it posts.
| Name | Required | Description | Default |
|---|---|---|---|
| username | Yes | X username, with or without the @. |
Output Schema
| Name | Required | Description |
|---|---|---|
| username | Yes | |
| followers | Yes | |
| averageReach | Yes | |
| smartFollowers | Yes | |
| smartFollowing | Yes | |
| averageEngagement | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and mutation behavior. The description adds the credit cost ('1 credit per call') and intended usage, which is helpful but does not disclose what specific stats are returned or any rate limits. With annotations carrying the core safety profile, this level of added context is adequate but not exceptional.
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 two sentences with zero wordiness. It leads with the core function, then states the use case and cost. Every word earns its place, making it concise and front-loaded.
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 only one well-documented parameter, an output schema present, and strong annotations, the description covers the essential aspects: what, when, and cost. There's no need to detail return values since the output schema handles that. For its simplicity, the description is complete and self-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?
The single parameter 'username' is fully documented in the schema with 'X username, with or without the @' (100% coverage). The description adds no additional semantic meaning beyond the schema, so the baseline of 3 applies. No param-related gaps to compensate for.
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 provides 'follower and engagement stats for an X account', giving a specific verb-resource pairing. It distinguishes itself from sibling tools like mentions or trending by focusing on account-level metrics. The word 'smart' adds a minor marketing tone but doesn't obscure the core purpose.
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 gives a concrete use case: 'Use it to judge whether an account's reach is real before weighting what it posts.' This provides clear context for when to apply the tool, but it does not explicitly mention alternatives or when not to use it. A 4 is appropriate because the context is clear, but exclusions or sibling comparisons are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
api_statusAPI key statusARead-onlyIdempotent
Check the Elfa API key tier, credit usage and remaining requests, and confirm the API is reachable. Free. Call this first when a request fails with an auth or credit error.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| key | Yes | |
| problem | Yes | |
| reachable | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds valuable context by noting the tool is 'Free' and that it 'confirm[s] the API is reachable,' going beyond the structured annotations. No contradiction exists.
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 two sentences: the first states the purpose, the second gives usage guidance. It is front-loaded, concise, and contains no redundant or filler content.
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 empty input schema, an existing output schema, and strong annotations, the description fully covers the tool's purpose, when to use it, and its cost ('Free'). There are no missing critical details for a zero-parameter status check.
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 tool has exactly zero parameters, and the schema coverage is 100% by default. There is nothing for the description to add regarding parameters, so a baseline score of 4 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 uses a specific verb 'Check' and clearly names the resource: 'Elfa API key tier, credit usage and remaining requests, and confirm the API is reachable.' This distinguishes it from sibling data-related tools and leaves no ambiguity about what the tool does.
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?
It provides explicit usage guidance: 'Call this first when a request fails with an auth or credit error.' This is clear context for when to use the tool, but it doesn't mention when-not to use it or name alternative tools, though none are obvious given its diagnostic role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_buildAuto query builderARead-only
Turn a plain-language monitoring request into an EQL query. Costs 1 credit plus LLM usage. This only drafts the query, nothing starts running until you activate it with auto_query_write. Say what to watch, the threshold, and what should happen when it fires.
| Name | Required | Description | Default |
|---|---|---|---|
| speed | No | fast is cheaper, expert reasons more deeply about the query. | fast |
| message | Yes | What to monitor, in plain language, for example "tell me on Telegram when BTC funding on Binance goes negative". | |
| sessionId | No | Continue refining a query from an earlier reply. |
Output Schema
| Name | Required | Description |
|---|---|---|
| title | Yes | |
| planIds | Yes | |
| response | Yes | |
| reasoning | Yes | |
| sessionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses cost (1 credit plus LLM usage) and side-effect-free nature ('nothing starts running until you activate it'), which complements the readOnlyHint=true annotation. The draft-only behavior is critical for agents to know it won't execute anything and aligns with the annotation's safety profile.
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?
Three sentences, each serving a distinct purpose: purpose, cost/side-effect, and input guidance. No filler, tautology, or redundant repetition of schema information. Front-loaded with the core functionality.
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 output schema and annotations, the description covers essential behavioral context: cost, draft-only nature, and activation requirement. It also provides enough input guidance for an agent to construct a valid request. Nothing critical is missing.
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 already covers all parameters with descriptions (100% coverage), so a baseline of 3 applies. The description adds value by specifying what to include in 'message' (what to watch, threshold, action), enriching the primary parameter's semantics. Speed and sessionId are adequately documented 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?
Clearly states it converts plain-language monitoring requests into EQL queries, a specific verb+resource pair. The phrase 'only drafts the query' distinguishes it from activation tools like auto_query_write, removing ambiguity about its scope.
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?
Explains when to use it: for drafting a query, not running it, and explicitly directs activation to auto_query_write. Provides input guidance (what to watch, threshold, action). However, it does not explicitly contrast with sibling tools like auto_query or auto_draft, leaving some potential for confusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_draftAuto draftsADestructive
Park an Auto query without activating it. Drafts never evaluate and never fire. Free, except method=convert which activates the draft and costs the same as creating a query. Use drafts when the user is still deciding.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size. | |
| query | No | EQL query object with conditions, actions and expiresIn. Build it with auto_build and check it with auto_validate first. | |
| title | No | Title carried into the live query. | |
| method | Yes | upsert creates or updates a draft. convert activates it as a live query. | |
| offset | No | Pagination offset. | |
| search | No | Free text filter for method=list. | |
| status | No | Filter for method=list. | |
| draftId | No | Required for get, delete and convert. Optional on upsert to update. | |
| description | No | Description carried into the live query. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| method | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true and readOnlyHint=false, but the description adds critical behavioral nuance: drafts are non-evaluating, non-firing, and free except for method=convert which activates and incurs cost. This goes well beyond the annotations and materially informs invocation decisions.
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?
Three sentences deliver purpose, behavioral rules, and usage guidance with no filler. The most important information is front-loaded, and every sentence earns its place.
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 has 9 parameters, nested objects, and an output schema; the description covers the essential decision-making points (what a draft is, when to use it, cost caveat). The rich schema handles parameter details, and the output schema covers return values, leaving only the need for a bit more explicit workflow guidance (e.g., 'build and validate first') which the schema itself hints at via query description.
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 all parameters have descriptions. The tool description adds a cost implication for method=convert but does not otherwise elaborate on parameter relationships or formats. With full schema coverage, a baseline 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 opens with 'Park an Auto query without activating it,' a specific verb+resource that clearly states the tool's core function. It further distinguishes itself from live query tools by noting 'Drafts never evaluate and never fire,' making the purpose unmistakable and distinct from siblings like auto_query.
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 gives explicit usage context: 'Use drafts when the user is still deciding.' This tells the agent when to choose drafts over live queries, though it does not explicitly name alternative tools. The cost caveat for method=convert also serves as a conditional usage warning.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_exchangesAuto exchange connectionsADestructive
The exchange accounts Auto uses when a query's action places an order. Free. method=validate_symbol checks a symbol is tradeable before you build a query around it. Connecting and disconnecting change what Auto can trade with, so confirm with the user first, and both need request signing. binance and pacifica connect from here with credentials. hyperliquid and gmx use a wallet set up in the Elfa app, so use method=list to confirm those rather than trying to connect them.
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | Which action to perform. | |
| symbol | No | Required for method=validate_symbol. | |
| exchange | No | Required for connect, disconnect and validate_symbol. | |
| metadata | No | Non-secret connection metadata for method=connect. | |
| credentials | No | Venue credentials for method=connect. binance needs apiKey and secret, pacifica needs privateKey and walletAddress. They are verified on connect, so a wrong value fails here rather than at trade time. They also pass through the conversation and are written to the client transcript, so tell the user that before asking for them. | |
| credentialType | No | Credential type for method=connect, as documented per venue. Read it off an existing connection with method=list if you are unsure. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| method | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the destructiveHint annotation by detailing that connections change what Auto can trade, requires user confirmation and request signing, and warns that credentials pass through the conversation and are written to the client transcript. This is actionable and important context not captured in structured data.
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 dense but every sentence contributes value. It could be slightly more structured for scannability, but it stays on-topic and front-loads the core purpose.
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 complexity of six parameters and nested objects, the description covers the key behaviors, constraints, and user-facing cautions. It does not detail list/disconnect outcomes, but an output schema exists and the description covers the main pitfalls.
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%, so baseline is 3. The description adds meaningful context for the credentials parameter (verification on connect, transcript exposure) and clarifies validate_symbol behavior, but other parameters remain adequately covered by the schema alone.
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 identifies the tool as managing exchange accounts used for trading and enumerates the specific methods (validate_symbol, list, connect, disconnect). It distinguishes itself from sibling tools by focusing exclusively on exchange connections.
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?
Provides explicit usage guidance: use validate_symbol before building a query, use list for hyperliquid/gmx instead of connect, and confirm with the user before connecting/disconnecting due to trading impact. It also mentions request signing as a prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_queryRead Auto queriesARead-onlyIdempotent
Read side of Auto. Free. method=list browses queries, method=get polls one query and returns its latest evaluation, method=executions and method=execution show what fired, method=sessions and method=session return the LLM analysis attached to a query. There is no push channel here, poll with method=get and respect pollAfterSeconds.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Filter executions by type. | |
| limit | No | Page size for list style methods. | |
| method | Yes | Which read to perform. | |
| offset | No | Pagination offset. | |
| search | No | Free text filter for method=list. | |
| status | No | Filter by status. | |
| queryId | No | Required for get, sessions and session. | |
| sessionId | No | Required for method=session. | |
| executionId | No | Required for method=execution. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| method | Yes | |
| pollAfterSeconds | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is known. The description adds valuable behavioral context beyond annotations: it's free, there is no push channel (requires polling), and it mentions pollAfterSeconds for rate/interval respect. This enriches understanding of how to interact with the 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 packs all necessary method semantics into three concise sentences. It front-loads the essential purpose ('Read side of Auto'), uses a clear list-like enumeration for methods, and closes with critical polling behavior. No word is wasted.
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 9 parameters, 6 methods, and a rich output schema, the description covers all method categories and the key interaction pattern (polling). It omits some details about pagination or filters, but those are fully documented in the schema. The overall tool behavior is sufficiently clear for an AI agent to use it correctly.
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 descriptions for all 9 parameters, so the baseline is 3. The description adds value by linking methods to parameter usage (e.g., method=get polls one query, method=execution shows a specific execution, method=session requires sessionId). This helps select the right method and understand which parameters matter per method, going slightly beyond 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 identifies this as the read side of Auto and enumerates each method with its specific purpose (list browses queries, get polls one query, executions/execution show fired items, sessions/session return LLM analysis). It explicitly positions itself as read-only, distinguishing it from write/sibling tools like auto_query_write.
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 gives concrete guidance: 'Read side of Auto' implies use for reads rather than writes, and 'no push channel here, poll with method=get' explicitly tells the agent to use polling instead of expecting push. It also directs respecting pollAfterSeconds. It could be more explicit about when to use this over siblings, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_query_writeWrite Auto queriesADestructive
Activate, cancel or delete an Auto query. Creating costs 5 credits plus LLM usage, cancel and delete are free. An activated query runs unattended and fires its action without asking again, so validate it with auto_validate and confirm the cost and the action with the user before calling this. Queries whose action places an order also need request signing.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | EQL query object with conditions, actions and expiresIn. Build it with auto_build and check it with auto_validate first. | |
| title | No | Short title shown in the notification when this fires. | |
| method | Yes | create activates a new query. cancel stops an active one. delete removes one that has already finished. | |
| queryId | No | Required for cancel and delete. | |
| description | No | Why this was set up, shown alongside the title. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| method | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description discloses credit costs, unattended execution with automatic action firing, and the need for request signing on order actions. These are critical behavioral traits that an agent must know before invoking, and they add significant value over the annotations.
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?
Three sentences with no filler. It front-loads the core action, then adds cost, safety, and special-case information efficiently. Every sentence earns its place.
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 tool's complexity (5 params, nested object, output schema), the description covers all essential context: cost, prerequisites, unattended behavior, confirmation requirement, and order signing. The output schema handles return values, so nothing critical is missing.
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 all parameters already have detailed descriptions. The tool description does not add extra parameter-level meaning; it only references the validation workflow. Baseline 3 is appropriate since the schema does the heavy lifting and no gaps remain.
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's function with specific verbs: 'Activate, cancel or delete an Auto query.' This distinguishes it from sibling tools like auto_query (which likely handles reads) by focusing on write operations. The three operation modes are explicit.
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?
Provides strong usage guidance: tells the agent to validate with auto_validate and confirm with the user before calling, and mentions the special requirement for order-placing queries. However, it doesn't explicitly contrast with auto_query for read-only scenarios, so it stops short of full alternative differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
auto_validateValidate Auto queryARead-onlyIdempotent
Check EQL syntax and get a cost estimate before anything is activated. Free. Always run this before auto_query_write, and show the estimated cost to the user. Pass either an inline query or a draftId.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | EQL query object with conditions, actions and expiresIn. Build it with auto_build and check it with auto_validate first. | |
| title | No | Title to validate with the query. | |
| draftId | No | Validate a stored draft instead of an inline query. | |
| description | No | Description to validate with the query. |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| errors | Yes | |
| warnings | Yes | |
| estimatedCost | Yes | |
| estimatedCredits | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds context beyond these by stating 'before anything is activated' (pre-flight nature), 'Free' (no cost), and the requirement to show the estimated cost to the user, enriching understanding of behavior.
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?
Three concise sentences, front-loaded with the core action and purpose, with no redundant details. Every sentence earns its place.
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 an output schema exists and the tool has moderate complexity (nested query object), the description covers purpose, usage, safety, and parameter guidance sufficiently for an agent to select and invoke the tool correctly.
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 descriptions for all parameters, so the baseline is 3. The description adds the key either/or relationship between inline query and draftId, which clarifies parameter usage beyond the schema alone.
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 ('Check EQL syntax and get a cost estimate') and identifies the resource (EQL query) while explicitly naming the sibling tool auto_query_write, distinguishing this validation tool from others.
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?
It gives explicit when-to-use guidance: 'Always run this before auto_query_write', and notes the mode of use ('Pass either an inline query or a draftId'), which clearly frames its role against alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_chatMarket chatARead-only
Ask Elfa for written market analysis grounded in its social data. Costs credits and varies by speed, so fast is the cheaper option. Pass sessionId from a previous reply to continue the same conversation.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain, paired with contractAddress. | |
| speed | No | Defaults to fast, which is cheaper and shallower. Ask for expert when the answer needs deeper reasoning. | fast |
| symbol | No | Token symbol, for token analysis. | |
| message | No | The question, required for analysisType=chat. | |
| username | No | X username, for analysisType=accountAnalysis. | |
| sessionId | No | Continue an earlier conversation. | |
| analysisType | No | chat needs message. tokenIntro and tokenAnalysis need symbol, or chain plus contractAddress. accountAnalysis needs username. macro and summary need nothing else. | chat |
| contractAddress | No | Contract address, paired with chain. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| sessionId | Yes | |
| creditsConsumed | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses meaningful behavioral traits beyond the annotations: using this tool costs credits, speed and cost are linked with fast being cheaper, and sessionId enables a continued conversation. It is consistent with readOnlyHint=true and adds useful context around pricing and stateful conversation.
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 two sentences, front-loaded with the main purpose, and then covers cost/speed and session continuation in a compact way. Every sentence earns its place without unnecessary detail.
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 100% schema coverage and the presence of an output schema, the description covers the essential interaction model: ask a question, choose a speed, and optionally continue a session. It doesn't enumerate all analysisType variants or alternatives, but the schema handles those details, so the description is close to complete.
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% and each parameter already has a description. The tool description adds value by clarifying that speed directly affects cost ('fast is the cheaper option') and that sessionId carries over a previous conversation, which are not obvious from the schema alone.
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 says 'Ask Elfa for written market analysis grounded in its social data,' which names a specific verb ('ask'), a resource ('Elfa'), and a clear deliverable ('written market analysis'). It also differentiates from sibling tools by emphasizing 'grounded in its social data' and the written/market-analysis nature.
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 asking market-analysis questions, and it offers useful context about cost/speed and continuing conversations via sessionId. However, it does not explicitly state when to use this tool instead of siblings like account_stats or narratives, nor does it give 'when not to use' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mentionsMentionsARead-onlyIdempotent
Social mentions from X and Telegram. 1 credit per call. Returns engagement metrics and a link per post, not the post text. mode=top ranks one ticker's mentions by engagement. mode=search filters by keywords or by account. mode=news returns the token news feed.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End of an absolute range, unix seconds. Use with from. | |
| from | No | Start of an absolute range, unix seconds. Use with to. For mode=search the range must span at least 1 day and at most 30. | |
| mode | Yes | top needs ticker. search needs keywords or accountName. news is a feed and needs neither. | |
| page | No | Page number, starting at 1. | |
| limit | No | Result count for mode=search. | |
| cursor | No | Pagination cursor from a previous mode=search response. | |
| ticker | No | Ticker for mode=top, for example "BTC" or "$SOL". | |
| coinIds | No | Comma separated CoinGecko coin ids to filter mode=news. | |
| reposts | No | Include reposts in the results. | |
| keywords | No | Up to 5 comma separated keywords for mode=search. | |
| pageSize | No | Items per page, up to 100. Keep it small and page through rather than asking for everything at once. | |
| verbosity | No | concise returns the high signal fields only. Use detailed when you need every metric. | concise |
| searchType | No | How multiple keywords combine in mode=search. | |
| timeWindow | No | Relative window such as "1h", "24h" or "7d". | |
| accountName | No | X username for mode=search, without the @. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | Yes | |
| next | Yes | |
| total | Yes | |
| notice | Yes | |
| mentions | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive. The description adds valuable context about cost (1 credit per call) and the return format (metrics and link, not text), as well as mode-specific behaviors, without contradicting annotations.
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 short, front-loaded with purpose, then cost, return limitation, and mode breakdown. Every sentence carries distinct information with 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 high complexity (15 parameters, 3 modes) and the presence of an output schema, the description provides sufficient high-level context: mode behaviors, cost, and the key limitation of not returning post text. It doesn't mention pagination, but the schema covers that.
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%, so the baseline is 3. The description adds cross-parameter relationships by mapping modes to required parameters (top needs ticker, search needs keywords/accountName, news needs neither), which adds meaning beyond individual field descriptions.
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 identifies the resource (social mentions from X and Telegram) and its return contents, but lacks an explicit verb like 'get' or 'list'. It does distinguish from siblings by specifying the platforms and modes, so the purpose is unambiguous.
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 explains the three modes and their parameter requirements, giving clear context when to use each. It also states a limitation ('not the post text') that guides when not to use it. However, it does not name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
narrativesNarrativesARead-onlyIdempotent
Written narrative analysis with source links, for when counts are not enough. 5 credits per call, so prefer trending or mentions when metrics will do. scope=market extracts the narratives moving the market. scope=keywords summarises events for keywords you supply, and can take over a minute to return.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End of an absolute range, unix seconds. Use with from. | |
| from | No | Start of an absolute range, unix seconds. Use with to. | |
| scope | No | market is a broad sweep. keywords needs the keywords argument. | market |
| keywords | No | Up to 5 comma separated keywords for scope=keywords. | |
| timeFrame | No | Lookback for scope=market. | |
| searchType | No | How multiple keywords combine for scope=keywords. | |
| timeWindow | No | Relative window such as "1h", "24h" or "7d". | |
| maxNarratives | No | Cap the narratives returned for scope=market. | |
| maxTweetsPerNarrative | No | Cap the sources per narrative for scope=market. |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | Yes | |
| items | Yes | |
| scope | Yes | |
| notice | Yes | |
| matched | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds valuable context: the cost of '5 credits per call' and the warning that scope=keywords 'can take over a minute to return', which are not captured in the annotations.
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?
Three sentences, each earning its place: purpose, cost/alternative, and scope explanations. Front-loaded with the core purpose, and no fluff or 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?
Despite having 9 parameters with no required fields, the description covers the key decision points: when to use qualitative analysis, the cost, the two scope behaviors, and latency expectations. The rich schema and output schema handle the remaining parameter and return details, so the description is complete for the agent's needs.
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%, so the baseline is 3. The description adds semantic nuance for the main scopes—'market extracts the narratives moving the market' and 'keywords summarises events'—which goes beyond the schema's brief 'broad sweep' and 'needs the keywords argument'. This adds meaningful context for parameter selection.
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 provides 'Written narrative analysis with source links', distinguishing it from count-based tools like trending and mentions. It also differentiates between the two scopes (market and keywords), giving specific verbs and resources for each.
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?
Explicitly says 'for when counts are not enough' and 'prefer trending or mentions when metrics will do', providing clear when-to-use and when-not-to-use guidance. It also explains the distinction between market and keywords scopes, including the latency caveat for keywords.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trendingTrendingARead-onlyIdempotent
What is gaining social attention right now. 1 credit per call. scope=tokens returns tickers ranked by mention volume with the change against the previous window. scope=contracts_twitter and scope=contracts_telegram return trending contract addresses.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End of an absolute range, unix seconds. Use with from. | |
| from | No | Start of an absolute range, unix seconds. Use with to. | |
| page | No | Page number, starting at 1. | |
| scope | No | Which trending list to return. | tokens |
| pageSize | No | Items per page, up to 100. Keep it small and page through rather than asking for everything at once. | |
| timeWindow | No | Relative window such as "24h" or "7d". Defaults to 24h unless both from and to are given. | |
| minMentions | No | Drop entries below this mention count. |
Output Schema
| Name | Required | Description |
|---|---|---|
| page | Yes | |
| items | Yes | |
| scope | Yes | |
| total | Yes | |
| pageSize | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds a credit cost per call, which is not in the annotations, and details scope-specific return behavior (ranked by mention volume, change against previous window, contract addresses). This supplements the readOnlyHint and idempotentHint annotations with practical behavioral context.
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 compact: three sentences that front-load the purpose and cost, then clearly map the scope options to their outputs. No filler or redundant restatement of the tool name or schema.
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 full input schema, output schema, and annotations, the description covers the essential behavioral aspects: cost, scope variants, and output type. It lacks explicit pagination/filtering guidance, but those are already documented in the schema, so the overall package is complete enough for an agent to select and invoke the tool correctly.
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%, so the baseline is 3. The description enhances the scope parameter by explaining what each enum value returns (tickers vs contract addresses) and introducing the notion of 'change against the previous window', adding semantic value beyond the schema's simple enum listing.
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 returns what is gaining social attention, with explicit scope variants: tokens ranked by mention volume with change, and contract addresses for Twitter/Telegram. It uses a specific verb ('returns') and identifies the resource (trending tickers/contracts), distinguishing it from sibling tools like mentions or narratives.
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 surfacing trending social attention, but it does not explicitly contrast with alternatives such as mentions or narratives, nor does it state when not to use this tool. The scope explanations provide parameter-level guidance, but not tool-selection guidance.
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.
12 tool updates
v2.0.0- First observed
account_stats - First observed
api_status - First observed
auto_build - First observed
auto_draft - First observed
auto_exchanges - First observed
auto_query - First observed
auto_query_write - First observed
auto_validate - First observed
market_chat - First observed
mentions - First observed
narratives - First observed
trending
TDQS
Most tools have clear boundaries: mentions/trending/narratives/market_chat each serve distinct analytical purposes, and the auto_* tools map to different lifecycle stages (build, validate, read, write, draft, exchanges). The main ambiguity is between auto_query_write and auto_draft, but descriptions clarify the active vs. draft distinction; auto_query bundles several read operations, which could be confusing but is documented.
Names are consistently lowercase with underscores, but the pattern is mixed: some are bare nouns (mentions, trending, narratives), some are noun_noun (account_stats, market_chat), and the auto_* family mixes verbs (auto_build, auto_validate) with nouns (auto_query, auto_draft). There's a clear family feel but no uniform verb_noun convention.
12 tools is well within the ideal 3-15 range. Each tool covers a distinct area of the API, from social data retrieval to auto-query lifecycle management, with no redundant tools. The use of modes and methods within some tools (e.g., mentions, auto_query) keeps the count manageable without sacrificing scope.
The tool set covers the core workflows of Elfa's social intelligence API: retrieving mentions, trending, narratives, account stats, and managing auto queries end-to-end (build, validate, activate, read, delete). Minor gaps include no tool to fetch raw post text (mentions only provides links and metrics) and no update operation for existing auto queries, but these are workaroundable.
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
Crypto market intelligence, token rug-checks, and wallet verification in one MCP server.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
Unlock the power of real-time cryptocurrency data with our Crypto Price Insights MCP server.
MCP server giving AI agents one-connection access to crypto & DeFi data: DeFi protocol TVL, stableco
Related MCP Servers
- AlicenseAqualityFmaintenanceAn MCP server that delivers cryptocurrency sentiment analysis to AI agents.548MIT
- AlicenseNot gradedqualityCmaintenanceMCP server that provides AI agents with crypto token safety checks (honeypot, liquidity, rug risk) and alpha signals (smart money buys, fresh rug radar) across PulseChain, Monad, Base, and BSC.61MIT
- AlicenseBqualityDmaintenanceMCP server that exposes QuantXData's institutional crypto market data APIs to AI assistants, enabling natural language queries for trades, order books, OHLCV, options, and more across 120+ exchanges.12MIT
- AlicenseAqualityCmaintenanceMCP server for accessing crypto market data (prices, portfolio analytics) from CoinGecko and performing RAG-based search over internal documents with responsible-AI guardrails.4MIT
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/elfa-ai/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server