# SignalLayer

> Machine-native tools for autonomous agents with free routing and x402 USDC pay-per-call.

- name: io.github.xavierleterrible-hub/signallayer
- version: 2.1.1
- connection class: R0 (autonomous)
- trust: 80/100 flags: no-repository
- quality: 75/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.xavierleterrible-hub%2Fsignallayer
- tools: https://api.protogrid.dev/v1/servers/io.github.xavierleterrible-hub%2Fsignallayer/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "signallayer": {
      "type": "http",
      "url": "https://signallayer.floot.app/_api/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 45
- drivers: +website +reachable +uptime-100% +updated-13d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 75/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,217 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 10 tool changes in 30 days
- fail `stability.rug_pull`: 2 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 5, about 1,217 tokens to load them all
- tool set hash: 34199e168e2c3c36b76ea3c45346013a
- tools last changed: 2026-10-08T16:29:05.331Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.xavierleterrible-hub/signallayer.svg)](https://protogrid.dev/servers/io.github.xavierleterrible-hub/signallayer)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-08 `structured_extract` changed (description)
  - before: 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.
  - after: Extracts requested fields from public webpages, returning structured values, field-level evidence, confidence, freshness and partial-result warnings. Missing facts remain null. 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. Use signal_layer_router for free tool selection.
- 2026-10-08 `market_execution_intel` changed (description)
  - before: 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.
  - after: Analyzes current Base ERC-20 exact-in swap quotes without executing trades. Returns quote-derived buy amount, network-cost bps, size-impact estimate, decision, evidence, warnings and freshness. Quotes can change; no signing or investment advice. 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 per call via x402 V2 with separately authorized payment. If unsure, use the free signal_layer_router.
- 2026-10-08 `agent_preflight` changed (description)
  - before: 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.
  - after: Inspects public x402 terms or a Base recipient and returns decision.verdict, score, confidence, payment observations, evidence, warnings, freshness and nextActions. It identifies observable mismatches but cannot guarantee safety or authorize spending. 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 per call via x402 V2 with separately authorized payment. If unsure, use the free signal_layer_router.
- 2026-10-08 `signal_layer_catalog` changed (description) **meaning changed**
  - before: 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.
  - after: Free inventory returning service, version, defaultEntryPoint and the four actionable primitives with capabilities and prices; the catalog tool itself is omitted. This is not a task router. If the correct tool is uncertain, prefer signal_layer_router.
- 2026-10-08 `signal_layer_router` changed (description) **meaning changed**
  - before: 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.
  - after: Free deterministic task-to-tool router, not a full catalog. Returns match, recommendedTool, routingConfidence, reason, missingRequiredInputs and readyToCall HTTP/MCP arguments for the best eligible primitive, or an explicit no_match when nothing fits. It may recommend a paid tool but never authorizes payment; check the live x402 challenge and obtain user approval before spending.
- 2026-10-08 `structured_extract` changed (title, outputSchema, annotations)
- 2026-10-08 `market_execution_intel` changed (title, outputSchema, annotations)
- 2026-10-08 `agent_preflight` changed (title, outputSchema, annotations)
- 2026-10-08 `signal_layer_catalog` changed (title, outputSchema, annotations)
- 2026-10-08 `signal_layer_router` changed (title, outputSchema, annotations)

Full history: https://api.protogrid.dev/v1/servers/io.github.xavierleterrible-hub%2Fsignallayer/changes

## Remotes

- https://signallayer.floot.app/_api/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (5)

- `agent_preflight`: Inspects public x402 terms or a Base recipient and returns decision.verdict, score, confidence, payment observations, evidence, warnings, freshness and nextActions. It identifies observable mismatches but cannot guarantee safety or authorize spending. 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 per call via x402 V2 with separately authorized payment. If unsure, use the free signal_layer_router.
- `market_execution_intel`: Analyzes current Base ERC-20 exact-in swap quotes without executing trades. Returns quote-derived buy amount, network-cost bps, size-impact estimate, decision, evidence, warnings and freshness. Quotes can change; no signing or investment advice. 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 per call via x402 V2 with separately authorized payment. If unsure, use the free signal_layer_router.
- `signal_layer_catalog`: Free inventory returning service, version, defaultEntryPoint and the four actionable primitives with capabilities and prices; the catalog tool itself is omitted. This is not a task router. If the correct tool is uncertain, prefer signal_layer_router.
- `signal_layer_router`: Free deterministic task-to-tool router, not a full catalog. Returns match, recommendedTool, routingConfidence, reason, missingRequiredInputs and readyToCall HTTP/MCP arguments for the best eligible primitive, or an explicit no_match when nothing fits. It may recommend a paid tool but never authorizes payment; check the live x402 challenge and obtain user approval before spending.
- `structured_extract`: Extracts requested fields from public webpages, returning structured values, field-level evidence, confidence, freshness and partial-result warnings. Missing facts remain null. 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. Use signal_layer_router for free tool selection.
