_ registry / mcp streamable-http · checked 44m ago

skeletable

https://skeletable.com

Registry code: 4f753619edaae383

api record

Skeletable is a library of tables where every value links to the source that states it. Use list_tables to find a table, get_table to read it, get_cell for a value's source and exact quote, and check_claim to test a statement against a cell. A null value means no acceptable source stated it: say it's unknown rather than filling it in. Check a table's scope and lastRead before relying on it. When you use a value, cite the source and give the cell's `url`, so a reader can see the proof. With a token you can build a table: create_table makes a private draft, and fill_cells adds values with their…

endpoint
https://skeletable.com/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is skeletable live?
Yes — it answered the hub's last check (checked 44m ago). It answered 100% of checks over the last 30 days.
Is skeletable free to use?
Yes — the hub reached it with no key and no payment.
What tools does skeletable have?
9 tools: get_cell, get_table, check_claim, propose_change, create_table, add_columns, add_rows, fill_cells, ….
Is skeletable safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
175ms

last good check

priced tools
0

of 9 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 9 tools
1 open 8 never probed 1 of 9 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_tables open 44m ago

    Find tables in the library. Each result gives its slug, the question it answers, its size and when it was last read.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 200,
          "description": "Words to look for in titles, questions, columns and rows. Leave out to list everything."
        }
      }
    }
    arguments 11 lines
  • get_cell unknown 44m ago

    The evidence for one value: the source, the exact quote, what kind of source it is and when it was read. For a missing value, where we looked, and `absent` means the source was read and gives no such value. `url` is the cell's lasting address, showing its proof, for citing. `confirmed` says how a second reader backed it up, and without it the value has been read once. `conflicts` lists sources that state something else, `history` lists past values, and `watch` says whether the quote was still on its page at the last check.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug",
        "row",
        "column"
      ],
      "properties": {
        "row": {
          "type": "string",
          "maxLength": 200,
          "description": "The row's key, from get_table"
        },
        "slug": {
          "type": "string",
          "maxLength": 120,
          "description": "From list_tables"
        },
        "column": {
          "type": "string",
          "maxLength": 80,
          "description": "The column's id, from get_table"
        }
      }
    }
    arguments 26 lines
  • get_table unknown 44m ago

    Read a table: its scope, its columns with the rule for each, and its rows. A null value means no acceptable source stated it.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 120,
          "description": "From list_tables"
        }
      }
    }
    arguments 14 lines
  • check_claim unknown never probed

    Test a statement against one cell, such as whether a value in a draft or an answer is right. The verdict is `matches`, `differs` (with what the source states), `disputed` (sources disagree, see `conflicts`) or `unknown` (no acceptable source stated it, so say so). It compares values and doesn't judge meaning, so read the quote before relying on a text verdict. Use list_tables and get_table to find the cell first.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug",
        "row",
        "column",
        "value"
      ],
      "properties": {
        "row": {
          "type": "string",
          "maxLength": 200,
          "description": "The row's key, from get_table"
        },
        "slug": {
          "type": "string",
          "maxLength": 120,
          "description": "From list_tables"
        },
        "value": {
          "type": "string",
          "maxLength": 300,
          "description": "The value being claimed"
        },
        "column": {
          "type": "string",
          "maxLength": 80,
          "description": "The column's id, from get_table"
        }
      }
    }
    arguments 32 lines
  • propose_change unknown never probed

    Suggest a new value for a cell, with its proof. The quote must be word for word from the source and state the value. The owner reviews it before anything changes. Needs a token sent as a Bearer token.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug",
        "row",
        "column",
        "value",
        "source",
        "quote"
      ],
      "properties": {
        "row": {
          "type": "string",
          "maxLength": 200,
          "description": "The row's exact key, from get_table"
        },
        "note": {
          "type": "string",
          "maxLength": 500,
          "description": "Why this should change"
        },
        "slug": {
          "type": "string",
          "maxLength": 120,
          "description": "From list_tables"
        },
        "quote": {
          "type": "string",
          "maxLength": 400,
          "description": "The exact words on that page"
        },
        "value": {
          "type": "string",
          "maxLength": 300,
          "description": "The new value, following the column's rule"
        },
        "column": {
          "type": "string",
          "maxLength": 80,
          "description": "The column's id, from get_table"
        },
        "source": {
          "type": "string",
          "format": "uri",
          "maxLength": 2000,
          "description": "The page that states it"
        }
      }
    }
    arguments 50 lines
  • create_table unknown never probed

    Make a private draft table, ready to fill. Only `title`, `columns` and `rows` are needed now, but give `question`, `scope`, and a `rule` for each column if you can: a person has to supply them before publishing. Returns the column ids fill_cells needs, and the sheet's link, so tell your person to open it and watch it fill. Needs a token.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "title",
        "columns",
        "rows"
      ],
      "properties": {
        "rows": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 120
          },
          "maxItems": 200,
          "minItems": 1
        },
        "owner": {
          "type": "string",
          "maxLength": 60,
          "description": "A team you're on. Leave out for your own account"
        },
        "scope": {
          "type": "string",
          "maxLength": 800,
          "description": "What belongs in the table and what doesn't"
        },
        "title": {
          "type": "string",
          "maxLength": 120
        },
        "topic": {
          "type": "string",
          "maxLength": 40,
          "description": "A broad subject, like Law or Consumer tech"
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "label",
              "type"
            ],
            "properties": {
              "rule": {
                "type": "string",
                "maxLength": 500,
                "description": "What counts as this value, so two readers would fill it in the same way"
              },
              "type": {
                "enum": [
                  "text",
                  "number",
                  "boolean"
                ],
                "type": "string"
              },
              "unit": {
                "type": "string",
                "maxLength": 30
              },
              "label": {
                "type": "string",
                "maxLength": 80
              }
            }
          },
          "maxItems": 20,
          "minItems": 1
        },
        "question": {
          "type": "string",
          "maxLength": 300,
          "description": "The question the table answers"
        }
      }
    }
    arguments 79 lines
  • add_columns unknown never probed

    Add columns to a draft you run, such as a blank one a person started. Returns the new column ids for fill_cells. Needs a token.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug",
        "columns"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 120
        },
        "columns": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "label",
              "type"
            ],
            "properties": {
              "rule": {
                "type": "string",
                "maxLength": 500,
                "description": "What counts as this value, so two readers would fill it in the same way"
              },
              "type": {
                "enum": [
                  "text",
                  "number",
                  "boolean"
                ],
                "type": "string"
              },
              "unit": {
                "type": "string",
                "maxLength": 30
              },
              "label": {
                "type": "string",
                "maxLength": 80
              }
            }
          },
          "maxItems": 20,
          "minItems": 1
        }
      }
    }
    arguments 49 lines
  • add_rows unknown never probed

    Add rows to a draft you run, as you find what belongs in it. A name it already has is skipped. Needs a token.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug",
        "rows"
      ],
      "properties": {
        "rows": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 120
          },
          "maxItems": 200,
          "minItems": 1
        },
        "slug": {
          "type": "string",
          "maxLength": 120
        }
      }
    }
    arguments 23 lines
  • fill_cells unknown never probed

    Fill up to 25 cells of a draft you run. Each cell gives `value`, `source` and `quote`, where the quote is word for word from the source and states the value; each is checked and the page opened before it's saved. If no acceptable source states it, give `checked` with the pages you read instead of a value, and add `none_stated` only if you read the whole source and it has no such value. Bad cells come back with a reason and don't stop the rest. Needs a token.

    mcp-tool

    {
      "type": "object",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "required": [
        "slug",
        "cells"
      ],
      "properties": {
        "slug": {
          "type": "string",
          "maxLength": 120,
          "description": "From create_table or list_tables"
        },
        "cells": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "row",
              "column"
            ],
            "properties": {
              "row": {
                "type": "string",
                "maxLength": 200
              },
              "quote": {
                "type": "string",
                "maxLength": 400
              },
              "value": {
                "type": "string",
                "maxLength": 300
              },
              "column": {
                "type": "string",
                "maxLength": 80,
                "description": "The column's id, from get_table"
              },
              "source": {
                "type": "string",
                "maxLength": 2000
              },
              "checked": {
                "type": "array",
                "items": {
                  "type": "string",
                  "maxLength": 2000
                },
                "maxItems": 10
              },
              "none_stated": {
                "type": "boolean"
              }
            }
          },
          "maxItems": 25,
          "minItems": 1
        }
      }
    }
    arguments 61 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 4f753619edaae383.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/4f753619edaae383/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/4f753619edaae383/badge.svg)](https://brick.blue/agent/4f753619edaae383?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.