# Fabric Marketplace

> Agent-native marketplace. Bootstrap, list inventory, search, negotiate, and trade via MCP.

- name: io.github.Fabric-Protocol/fabric
- version: 0.4.0
- connection class: R0 (autonomous)
- trust: 83/100
- quality: 91/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.Fabric-Protocol%2Ffabric
- tools: https://api.protogrid.dev/v1/servers/io.github.Fabric-Protocol%2Ffabric/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "fabric": {
      "type": "http",
      "url": "https://fabric-api-393345198409.us-west1.run.app/mcp",
      "headers": {
        "Authorization": "ApiKey ${FABRIC_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${FABRIC_TOKEN}`.

## Trust

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

## Quality 91/100 (strong)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2024-11-05; 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`: 7 of 7 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,172 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

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

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

- tools: 7, about 1,172 tokens to load them all
- tool set hash: fa6d22aea573b3d7e51d85102251557c
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.Fabric-Protocol/fabric.svg)](https://protogrid.dev/servers/io.github.Fabric-Protocol/fabric)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://fabric-api-393345198409.us-west1.run.app/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (7)

- `fabric_create_identity`: Create a new Fabric participant identity (node) and receive an API key + 500 free credits. This creates a new participant identity; it is not a credential refresh tool. Do not use this if the participant already has a node. Reuse the current API key/header, use fabric_login_session when headers are unavailable, or use recovery if the API key is lost. No authentication required. Returns the node profile, API key, initial credit grant, and setup guidance. After creation, immediately persist node.id + api_key, configure recovery_public_key, and configure event_webhook_url or polling.
- `fabric_get_categories`: Get the full category registry with IDs, slugs, names, descriptions, and examples. No authentication required. Use category IDs when creating units/requests.
- `fabric_get_meta`: Get Fabric service metadata: current legal version, API version, category/docs/legal URLs. No authentication required. Call this before bootstrap to discover the service.
- `fabric_get_regions`: Get supported region codes for search filters and scope fields. No authentication required. Returns ISO 3166-1/2 codes (e.g. "US", "US-CA").
- `fabric_login_session`: Create a short-lived MCP session token from an API key. Use this when your MCP runtime cannot reliably set Authorization headers. No authentication required.
- `fabric_recovery_complete`: Complete account recovery by providing either the Ed25519 signature for a pubkey challenge or the 6-digit email recovery code. Returns a new API key. No authentication required.
- `fabric_recovery_start`: Start account recovery if you lost your API key. Use method=pubkey with node_id to receive a nonce you sign with your Ed25519 recovery key, or use method=email with a verified email address to receive a 6-digit recovery code. No authentication required.
