SignalLayer
Server Details
Machine-native tools for autonomous agents with free routing and x402 USDC pay-per-call.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
The three paid primitives target clearly different objects/actions: preflight for unfamiliar resources/addresses, market_execution_intel for Base ERC-20 swaps, and structured_extract for webpage facts. The two free meta-tools have distinct jobs—catalog for enumeration, router for task routing—and descriptions include explicit 'Do NOT use when' guidance plus router escalation. Mis-selection risk is low.
All names use snake_case and are descriptive, so they read consistently. The only inconsistency is that the two meta-tools carry the `signal_layer_` prefix while the three paid primitives do not; this is minor but prevents a perfectly uniform pattern.
Five tools is well-scoped for this server: three core paid capabilities plus two lightweight, free discovery/routing helpers. No tool feels redundant or missing at the count level.
The surface covers the apparent core needs—preflight checks, Base swap execution intel, and structured webpage extraction—and adds catalog/router for discovery when uncertain. There is no update/delete lifecycle to complete, but broader signal types or other chains are not present; agents can route or rely on `no_match`, so gaps are minor.
Available Tools
5 toolsagent_preflightx402 Preflight Security & Payment Risk CheckARead-onlyIdempotentInspect
Before paying, transferring to, or interacting with an unfamiliar machine resource, x402 endpoint, recipient, or Base address. Do NOT use when: You only need market execution conditions or webpage extraction. Price: $0.01 USDC via x402. If uncertain which SignalLayer primitive matches the task, call signal_layer_router first for free.
| Name | Required | Description | Default |
|---|---|---|---|
| intent | No | pay | |
| target | Yes | ||
| routingId | No | ||
| maxPriceUsd | No | ||
| expectedNetwork | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| tool | No | |
| status | No | |
| decision | No | |
| evidence | No | |
| warnings | No | |
| freshness | No | |
| requestId | No | |
| nextActions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, idempotentHint=true), and the description adds genuinely non-derivable context: the tool costs $0.01 USDC via x402, unlike the free router. It still omits what happens on a failed/blocked check and any latency or retry behavior, so it is not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very short and front-loads the trigger condition, cost, and fallback in that order. The opening is a sentence fragment with no subject or verb, which costs a little clarity but wastes no 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?
An output schema exists, so return values need no explanation, and cost plus sibling routing are covered. For a paid tool with 5 largely undocumented parameters, though, an agent still cannot tell how target, intent, or maxPriceUsd constrain the call — a real gap for something that charges per invocation.
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 0% across 5 parameters, so the description must carry the burden and largely does not. The only hint is that 'target' may be a resource, x402 endpoint, recipient, or Base address; intent, maxPriceUsd, expectedNetwork, and routingId are never explained or distinguished from each other.
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?
Combined with the title ('Preflight Security & Payment Risk Check'), the description makes clear this is a pre-payment risk gate, and it enumerates the concrete targets it covers (machine resource, x402 endpoint, recipient, Base address). However, the description itself is written as a timing clause rather than a verb+resource statement, so it never directly says what the tool returns (a risk verdict), leaning on the title to close the gap.
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?
Explicit trigger ('Before paying, transferring to, or interacting with an unfamiliar ... address'), explicit exclusion ('Do NOT use when: You only need market execution conditions or webpage extraction'), and an explicit alternative ('call signal_layer_router first for free'). This routes the agent across all four siblings without inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_execution_intelBase Swap Execution, Slippage & Quote IntelligenceARead-onlyIdempotentInspect
Before an exact-in ERC-20 swap on Base when current quote-derived execution conditions, network cost, and size sensitivity matter. Do NOT use when: You need generic historical prices, personalized investment advice, or a signed transaction. Price: $0.03 USDC via x402. If uncertain which SignalLayer primitive matches the task, call signal_layer_router first for free.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| buyToken | Yes | ||
| routingId | No | ||
| sellToken | Yes | ||
| buyTokenDecimals | Yes | ||
| sellTokenDecimals | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| tool | No | |
| status | No | |
| decision | No | |
| evidence | No | |
| warnings | No | |
| freshness | No | |
| requestId | No | |
| nextActions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the remaining burden is cost/auth, which the description discloses: '$0.03 USDC via x402.' That is genuinely useful behavioral information absent from structured fields. It does not, however, describe latency, rate limits, or failure modes.
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 tight sentences, no filler; the exclusion list and price are front-loaded after the scoping clause. The opening sentence is a grammatical fragment that requires parsing, which slightly blunts an otherwise efficient structure.
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?
An output schema exists, so return-format explanation is unnecessary; the description focuses on selection context, exclusions, cost, and fallback routing, which is the right allocation of space. The one real gap is the unexplained parameter set, which is the schema's fault as much as the description's.
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 0% across six parameters, five of them required, so the description must carry the load and largely does not — sellToken, buyToken, sellTokenDecimals, buyTokenDecimals and routingId are never explained. Only indirect hints exist ('exact-in' implies amount semantics, 'size sensitivity' implies amount matters), which is well below what a 0%-coverage six-param schema demands.
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 names the resource and scenario precisely: 'quote-derived execution conditions, network cost, and size sensitivity' for an 'exact-in ERC-20 swap on Base,' which is unmistakably distinct from siblings like signal_layer_catalog or structured_extract. It stops short of a clean verb+object statement (it reads as a usage condition rather than 'returns X for Y'), so an agent infers the output rather than being told it.
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?
Explicit when-to-use ('before an exact-in ERC-20 swap on Base when ... matter') and an explicit when-not list ('generic historical prices, personalized investment advice, or a signed transaction'). It also names the alternative to consult when unsure (signal_layer_router first, for free), which is exactly the routing guidance an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_layer_catalogList SignalLayer tools and pricesARead-onlyIdempotentInspect
Free machine-readable SignalLayer capability catalog. Use this to enumerate all SignalLayer tools and prices. If the correct tool is uncertain, prefer signal_layer_router.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| tools | No | |
| service | No | |
| version | No | |
| defaultEntryPoint | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is fully covered. The description adds that the catalog is 'free' and 'machine-readable', which is genuinely useful context, but it says nothing about output shape or pricing units beyond what the output schema provides.
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 compact sentences, front-loaded with the catalog's identity before the routing hint. Slight redundancy between 'capability catalog' and 'enumerate all SignalLayer tools', but nothing wasteful enough to penalize heavily.
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 a no-parameter catalog with a full output schema and complete annotation coverage, so return values and safety are already handled. The description supplies exactly the missing pieces: what the catalog is for and when to prefer the router instead.
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 takes zero parameters, so there is nothing for the description to document. Baseline 4 applies; no parameter-related gaps exist.
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 states a specific verb (enumerate) and resource (all SignalLayer tools and prices), and the 'capability catalog' framing makes the resource concrete. An agent can distinguish it from signal_layer_router, which is explicitly named as the alternative.
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 a clear use case ('Use this to enumerate all SignalLayer tools and prices') and a routing rule when unsure ('prefer signal_layer_router'). What's missing is an explicit negative case for when NOT to use this catalog, e.g. when a specific tool is already known.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
signal_layer_routerRoute a task to the right SignalLayer toolARead-onlyIdempotentInspect
Free deterministic SignalLayer task router. USE THIS when the task is known but the correct SignalLayer primitive is not. Returns either no_match or one recommended tool with price, missing inputs, and ready-to-call HTTP and MCP arguments. It never forces a paid recommendation.
| Name | Required | Description | Default |
|---|---|---|---|
| task | Yes | ||
| amount | No | ||
| fields | No | ||
| target | No | ||
| network | No | ||
| buyToken | No | ||
| sellToken | No | ||
| maxPriceUsd | No | ||
| buyTokenDecimals | No | ||
| sellTokenDecimals | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| match | No | |
| reason | No | |
| readyToCall | No | |
| recommendedTool | No | |
| routingConfidence | No | |
| missingRequiredInputs | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds real value beyond that: it is free and deterministic, returns no_match rather than guessing, exposes price and missing inputs, and will not push a paid recommendation. Return-format detail is modestly redundant with the output schema.
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, front-loaded with identity, then the trigger condition, then the return contract. Every sentence earns its place with no padding.
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?
An output schema exists, so not explaining the return shape in depth is acceptable (though it does so anyway). The real gap is the 10 undocumented parameters at 0% coverage — for a router that consumes task/amount/token/network inputs, the description leaves the agent without enough to construct a correct call.
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 0% across 10 parameters, so the description must compensate — and it does not. It never names task, amount, fields, target, network, buyToken/sellToken, or the decimal/price bounds; only the oblique phrase 'missing inputs' hints that some parameters may be optional. An agent cannot determine what to supply.
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?
States a specific verb (route) and resource (SignalLayer task/primitive) plus a concrete return contract ('no_match or one recommended tool with price, missing inputs, and ready-to-call HTTP and MCP arguments'). It implies differentiation from signal_layer_catalog via the routing framing, but never names a sibling to draw the line crisply.
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?
'USE THIS when the task is known but the correct SignalLayer primitive is not' gives a clear selection condition, and 'never forces a paid recommendation' reassures against the obvious hesitation. No explicit when-not-use or named alternative (e.g. signal_layer_catalog) is given, so it stops short of 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
structured_extractWebpage Structured Data Extraction with EvidenceARead-onlyIdempotentInspect
When requested facts exist on a public webpage but compact structured JSON is needed instead of browsing and parsing the page. Do NOT use when: The source is already structured or the task is generic web search. Price: $0.02 USDC via x402. If uncertain which SignalLayer primitive matches the task, call signal_layer_router first for free.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| fields | Yes | ||
| routingId | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | No | |
| tool | No | |
| status | No | |
| decision | No | |
| evidence | No | |
| warnings | No | |
| freshness | No | |
| requestId | No | |
| nextActions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world behavior, so the safety profile is covered. The description adds genuinely new behavioral context: a per-call price of $0.02 USDC via x402, which affects whether an agent should call it at all. It still omits rate limits, latency, and failure/empty-result behavior, keeping it short of a 5.
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 tight sentences with the primary selection condition front-loaded, followed by exclusions and cost. Every sentence carries information. It loses a point because the lead sentence is an incomplete clause with no verb, which slightly obscures the purpose it is meant to front-load.
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?
An output schema exists, so return values need not be described, and the description adequately covers selection criteria and cost. However, with three parameters at 0% schema description coverage, an agent cannot determine what `fields` should contain or what `routingId` is for; that gap is not compensated anywhere.
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 0% across all three parameters, so the description carries the full burden. It only loosely implies `url` ("public webpage") and `fields` ("requested facts"), and says nothing about `fields` being a list of up to 20 names of at most 120 characters, nor anything about `routingId` — which is entirely unexplained anywhere.
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 frames the tool as a condition ("When requested facts exist on a public webpage but compact structured JSON is needed") rather than stating an explicit verb+resource like "extract named fields from a URL." The resource (a public webpage) and output (compact structured JSON) are discernible, but the action itself is only implied. It never states plainly what the tool does, so an agent must infer it from the title.
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 negative selection criteria ("Do NOT use when: The source is already structured or the task is generic web search") and an escalation path ("call signal_layer_router first for free"). This is exactly the when/when-not/alternative routing an agent needs, and it names a real sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- Changed
agent_preflight1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "data": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "decision": { + "additionalProperties": {}, + "properties": { + "confidence": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "score": { + "type": "number" + }, + "summary": { + "type": "string" + }, + "verdict": { + "type": "string" + } + }, + "type": "object" + }, + "evidence": { + "items": {}, + "type": "array" + }, + "freshness": { + "additionalProperties": {}, + "properties": { + "checkedAt": { + "type": "string" + }, + "maxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "meta": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "nextActions": { + "items": {}, + "type": "array" + }, + "requestId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "warnings": { + "items": {}, + "type": "array" + } + }, + "type": "object" +}
- Changed
market_execution_intel1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "data": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "decision": { + "additionalProperties": {}, + "properties": { + "confidence": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "score": { + "type": "number" + }, + "summary": { + "type": "string" + }, + "verdict": { + "type": "string" + } + }, + "type": "object" + }, + "evidence": { + "items": {}, + "type": "array" + }, + "freshness": { + "additionalProperties": {}, + "properties": { + "checkedAt": { + "type": "string" + }, + "maxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "meta": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "nextActions": { + "items": {}, + "type": "array" + }, + "requestId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "warnings": { + "items": {}, + "type": "array" + } + }, + "type": "object" +}
- Changed
signal_layer_catalog1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "defaultEntryPoint": { + "type": "string" + }, + "service": { + "type": "string" + }, + "tools": { + "items": {}, + "type": "array" + }, + "version": { + "type": "string" + } + }, + "type": "object" +}
- Changed
signal_layer_router1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "match": { + "type": "boolean" + }, + "missingRequiredInputs": { + "items": { + "type": "string" + }, + "type": "array" + }, + "readyToCall": {}, + "reason": { + "type": "string" + }, + "recommendedTool": { + "type": [ + "string", + "null" + ] + }, + "routingConfidence": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" +}
- Changed
structured_extract1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "data": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "decision": { + "additionalProperties": {}, + "properties": { + "confidence": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "score": { + "type": "number" + }, + "summary": { + "type": "string" + }, + "verdict": { + "type": "string" + } + }, + "type": "object" + }, + "evidence": { + "items": {}, + "type": "array" + }, + "freshness": { + "additionalProperties": {}, + "properties": { + "checkedAt": { + "type": "string" + }, + "maxAgeSeconds": { + "type": "number" + } + }, + "type": "object" + }, + "meta": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "nextActions": { + "items": {}, + "type": "array" + }, + "requestId": { + "type": "string" + }, + "status": { + "type": "string" + }, + "tool": { + "type": "string" + }, + "warnings": { + "items": {}, + "type": "array" + } + }, + "type": "object" +}
5 tool updates
- First observed
agent_preflight - First observed
market_execution_intel - First observed
signal_layer_catalog - First observed
signal_layer_router - First observed
structured_extract
Related MCP Connectors
Pay-per-call tools for autonomous agents, settled in USDC on Base via x402.
63 pay-per-call tools for agents: vision, text, data, web, blockchain. USDC on Base via x402.
Pay-per-use tool API for AI agents. Free tier, x402 USDC micropayments, or API key.
Pay-per-call data APIs for AI agents. USDC on Base via x402. 33 tools, no signup.
Related MCP Servers
AlicenseNot gradedqualityDmaintenanceEnables AI agents to call 50+ pay-per-request tools covering onchain and crypto data, web research, security, compliance screening, business intelligence, and infrastructure checks. Payments settle per call in USDC on Base through the x402 protocol with no accounts, API keys, or subscriptions, and the first call is free for new wallets.MIT- FlicenseNot gradedqualityBmaintenanceEnables AI agents to pay per tool call in USDC via the x402 micropayment protocol, with no API keys or subscriptions required.-
- FlicenseAqualityDmaintenancePay-per-call tools for AI agents including trust checks, due diligence, market data, and human-verified approvals, settled in USDC on Base via the x402 protocol.16-
- AlicenseAqualityCmaintenanceProvides AI agents with 10 pay-per-call utility tools (QR generation, DNS lookup, OCR, etc.) using USDC on Base via the x402 protocol, with agent's private key never leaving the agent.1135 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.