{"id":814840,"recorded_at":"2026-10-29T00:09:12.908307Z","observed_at":"2026-10-29T00:09:12.908169Z","subject_kind":"endpoint","subject":"ad632b97-35d4-44f2-82a8-41559d4bbbba","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":5,"tools":[{"description":"Return the public profiles of two catalog projects side by side, identified by host and two owner/repo slugs. The response presents each project's facts and health bands; it draws no conclusion and names no winner. The pair is refused when either project is unavailable or has insufficient measured signals. Read-only. Serves catalog schema v1.","inputSchema":{"additionalProperties":false,"properties":{"a":{"description":"The owner/repo slug of the first project.","type":"string"},"b":{"description":"The owner/repo slug of the second project.","type":"string"},"host":{"description":"Repository host, e.g. \"github\".","type":"string"}},"required":["host","a","b"],"type":"object"},"name":"compare_projects"},{"description":"List the public curated lists in the notavibe catalog, or return the public members of one list identified by owner handle and list slug. Only public lists and their publishable members are returned; a list that does not exist or is not public returns {\"found\": false}. Read-only. Serves catalog schema v1.","inputSchema":{"additionalProperties":false,"properties":{"handle":{"description":"List owner handle; together with slug, it selects one list.","type":"string"},"slug":{"description":"List slug; together with handle, it selects one list.","type":"string"}},"type":"object"},"name":"get_lists"},{"description":"Records a description of a capability missing from the other tools of this server, for the maintainers of this server. The description is stored by an analytics service. It returns an acknowledgement and adds no tools: every tool of this server is already listed. Reads no catalog data. Serves catalog schema v1.","inputSchema":{"additionalProperties":false,"properties":{"context":{"description":"A description of the goal and of the kind of tool that would help with it.","type":"string"}},"required":["context"],"type":"object"},"name":"get_more_tools"},{"description":"Return the public profile of one catalog project, identified by host and either an owner/repo slug or a numeric repository id. Both host and one of slug or id are required; a call missing them is refused as an invalid argument and names what is missing. A well-formed lookup that matches no project is not an error: it returns {\"found\": false}. This resolves any project the catalog holds, including one below the discovery floor that search does not return. The profile carries the claim state, verification or generation provenance, the vocabulary dimensions (category, ecosystem, kind, runtime, license_family, topics and capabilities, each present only when it has a value), the five health-signal bands, license and package-registry facets, and staleness. Health signals are reported as bands, not raw measures; no person-derived counts are included. Read-only. Serves catalog schema v1.","inputSchema":{"additionalProperties":false,"properties":{"host":{"description":"Repository host, e.g. \"github\".","type":"string"},"id":{"description":"The numeric repository id (the stable identity anchor).","type":"integer"},"slug":{"description":"The owner/repo slug.","type":"string"}},"required":["host"],"type":"object"},"name":"get_project"},{"description":"Search the notavibe catalog of open-source projects. The query matches project name, project description, and the category, ecosystem, kind, runtime, license_family and capabilities vocabulary facets; free-form repository topics are not matched. capabilities names what a project does, such as http-client, logging or database. Its values come from a fixed list kept by this catalog, and a project carries one only when a tag mapped to it is declared on the project's GitHub repository, or on an npm package bound to that repository both ways: the repository's package.json names the npm package, and the package names the repository as its source. Most projects carry no capabilities. A facet match adds a project to the results and does not affect its position in them: results are ordered by how closely the query matches name and description, then by published health signals. Every word of the query must match. A project's description is generated from its facets until its maintainer claims it and writes their own, so a query describing what a project does, such as \"http router\" or \"date parsing\", matches only where those words appear in a project name, in a claimed description, or among the words a facet value matches; a project name or a category, kind or ecosystem word is what a generated entry reliably matches. The catalog currently covers one ecosystem: javascript-typescript. category, ecosystem, kind, runtime, license_family, topics and capabilities are also exact filters. Every filter supplied is applied, and a filter combines with the query rather than replacing it: query with ecosystem returns only projects that match the text AND carry that ecosystem. A filter narrows the result set and never changes the order. category, ecosystem, kind, runtime, license_family and capabilities accept only values from this catalog's managed vocabulary; a value outside it is refused and the refusal names the accepted values, so it is never returned as an empty result. A capabilities filter takes one value and matches every project that carries it among its capabilities. topics is an open set, so any topic is accepted and an unrecognised one simply matches nothing. The full vocabulary is available from the catalog facet enumeration. The response echoes the filters that were applied. Search returns projects at or above this catalog's discovery floor — a repository whose measured activity is too low to be ranked is held out of search even though the catalog holds it and has signals for it. A call with a query also returns projects in the settling hold, a waiting period a new or changed entry serves before it can be ranked. A call with filters and no query lists ranked projects only, so it excludes projects in the settling hold. An empty result therefore means that nothing matched among the projects that call can return, which is not the same as the catalog having no such project: a project known by name can still be retrieved by exact identity with get_project. At most 100 results are returned; the response field truncated is true when more matched and the list was cut at 100, and no total is reported. Returns compact result rows: repository host and numeric id, slug, name, description, claim state, category, and the maintenance-rhythm and contribution-breadth health bands. Read-only. Serves catalog schema v1.","inputSchema":{"additionalProperties":false,"description":"All properties combine with AND. Filters narrow the result set and never affect the order. A call with every property omitted returns an empty result set.","properties":{"capabilities":{"description":"Exact filter on one value of the capabilities dimension, which names what a project does. Managed set: a value outside it is refused, and the refusal names the accepted values. Matches every project that carries the value among its capabilities.","type":"string"},"category":{"description":"Exact filter on the category dimension. Managed set: a value outside it is refused, and the refusal names the accepted values.","type":"string"},"ecosystem":{"description":"Exact filter on the ecosystem dimension. Managed set: a value outside it is refused, and the refusal names the accepted values.","type":"string"},"kind":{"description":"Exact filter on the kind dimension. Closed set: a value outside it is refused, and the refusal names the accepted values.","type":"string"},"license_family":{"description":"Exact filter on the license-family dimension. Closed set: a value outside it is refused, and the refusal names the accepted values.","type":"string"},"query":{"description":"Full-text query over project name, project description, and the category/ecosystem/kind/runtime/license_family/capabilities facets. A facet match scopes the result set and never orders it. Combines with any filter below.","type":"string"},"runtime":{"description":"Exact filter on the runtime dimension. Closed set: a value outside it is refused, and the refusal names the accepted values.","type":"string"},"topics":{"description":"Exact filter on one repository topic. Open set: any value is accepted, and an unrecognised topic matches nothing rather than being refused.","type":"string"}},"type":"object"},"name":"search_projects"}]},"body_sha256":"02f65fb2a18da6f8ec38a4fc7c93759c6b44f95bf2c59974c2fb763dd3ad393c","prev_id":770546,"leaf":"0x72d642456835046a67a6712fe32a1a83ccfba6208808402976730e18afe46557","leaf_text":"{\"body\":\"02f65fb2a18da6f8ec38a4fc7c93759c6b44f95bf2c59974c2fb763dd3ad393c\",\"id\":814840,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793232552908169,\"prev\":770546,\"subject\":\"ad632b97-35d4-44f2-82a8-41559d4bbbba\",\"subject_kind\":\"endpoint\"}","day":null,"proof":[]}