Byteland
Server Details
A night city of developers: search people and projects, read project rooms, see who is live.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 14 tools
Most tools target clearly distinct resources: buildings (get_building/preview_building), profiles (get_profile/get_project/list_projects), rooms (list_rooms/read_room/read_thread) and city-wide discovery (get_street/search/popular). The closest pairs are list_rooms vs read_room and get_stats vs popular, but descriptions make the read/live-vs-aggregate split clear enough. Overall an agent can pick correctly with little risk.
The set mixes verb_noun (get_building, list_projects, read_room, preview_building) with bare nouns/adjectives (about, live, popular, search). Each name is readable and no style is cryptic, but there is no single predictable pattern, so an agent cannot reliably guess a name from an intent. It is mixed-but-legible rather than consistent.
Fourteen tools sit comfortably in the well-scoped range and roughly map to the domain's entities (buildings, profiles, projects, rooms, threads, discovery). A couple of tools (about, preview_building) are peripheral but still earn their place; nothing feels padded or redundant.
The surface is a coherent read-only explorer: browsing, searching, stats, leaderboards and reading messages/threads are all covered. However, the room/forum model implies participation (posting messages, replying to threads, reactions) and none of those write operations exist, and preview_building is explicitly not persisted — notable dead ends for an agent that wants to act rather than observe.
Available Tools
14 toolsaboutWhat Byteland isAInspect
Short description of Byteland: what buildings, rooms and lights stand for, units, privacy rules and supported languages. A good first call.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full disclosure burden. It does enumerate the topics returned, which is useful, but it never states that the call is side-effect free, read-only, static, or cheap — nor whether the response is prose or structured. For a trivially safe tool this is adequate but not thorough.
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?
Two short sentences, front-loaded with the content overview and ending with the actionable directive. Nothing is redundant.
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?
With no annotations, no output schema, and no parameters, the definition needs only to explain what the call yields and why to make it — both are covered. A note that it defines the terminology used by sibling tools would make it fully self-sufficient.
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 no parameter semantics are needed; baseline 4 applies. The description correctly does not waste words on inputs.
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 clearly frames this as a conceptual/documentation tool about Byteland, enumerating concrete content areas (buildings, rooms, lights, units, privacy rules, languages) rather than restating the bare name. That distinguishes it well from the data-fetching siblings like get_building or get_stats, though it never uses an explicit verb such as 'returns' or 'explains'.
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?
'A good first call' is an explicit usage directive that tells the agent to invoke it before other tools. There is no mention of when not to use it or of an alternative, but with a zero-parameter glossary tool the absence of exclusions is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_buildingBuilding detailBInspect
Public detail of one building: the owner’s profile, rooms and their states, machine-readable parts and the building recipe.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | Door number (e.g. 5) or username (e.g. "@kaanisthatyou"). | |
| lang | No | Language of text fields (recipe, badges, topic names). Default: en. | |
| mode | No | kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles. | |
| seed | No | Street seed. Default: gece-sehri. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description must carry the behavioral burden. It states the data is 'Public,' implying read-only access, but it lacks any detail regarding rate limiting, API constraints, or expected error handling behavior. This is a minimal disclosure for a critical data retrieval tool.
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?
The description is a highly efficient, single-sentence summary. It uses strong nouns (profile, recipe, states) to quickly communicate the comprehensive nature of the data retrieval.
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?
While it describes the rich output data, the lack of explicit behavioral constraints or limits makes it not fully complete. An agent might still require clarification on what is returned for each component (e.g., how 'machine-readable parts' are structured).
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?
With 100% schema coverage, the baseline score is adequate. The description does not add significant semantic value over the schema, though it clarifies that the 'ref' parameter identifies the building whose details are being requested.
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 is exceptionally clear, defining the tool's function as retrieving 'Public detail of one building.' It specifically enumerates the content returned: the owner’s profile, rooms and their states, machine-readable parts, and the building recipe.
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?
The description offers no comparative guidance. While the sibling list implies its role as a detail fetcher, the description itself does not instruct the agent on when to use this specific tool versus alternatives like 'get_profile' or 'list_rooms'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileProfileBInspect
A developer’s or company’s profile: bio, links (GitHub, website, socials), badges, projects and open-source contributions. If not on the street, looks for a saved profile, then GitHub; otherwise generates a sample (preview:true).
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of text fields (recipe, badges, topic names). Default: en. | |
| mode | No | kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles. | |
| seed | No | Street seed. Default: gece-sehri. | |
| github | No | Look up GitHub’s public data. Default: true. | |
| handle | Yes | Username, with or without @. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It discloses a non-obvious resolution chain (street → saved profile → GitHub → sample) which is useful, but it omits safety characteristics (read-only), doesn't clarify what 'on the street' means, and mentions 'preview:true' even though no such parameter exists in the schema, causing confusion.
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?
The purpose is front-loaded in the first sentence, and the fallback behavior follows compactly in the second. There is no filler, though the second sentence is dense and relies on domain jargon ('on the street') that is not explained.
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 description covers what the profile contains and the fallback resolution order, which is appropriate for a 5-parameter tool. However, it leaves important context implicit: the relationship to siblings, the meaning of 'street', and the mismatch between 'preview:true' and the actual mode parameter. With no annotations and no output schema, more behavioral clarity would help.
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 100%, so the schema already fully documents all five parameters, including enums for lang and mode. The description adds no parameter-level meaning beyond what the schema provides, and the mention of 'preview:true' does not map to any listed parameter.
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 clearly names the resource (developer/company profile) and enumerates the content it returns (bio, links, badges, projects, contributions). It is distinguishable from siblings like get_project or get_building, but it doesn't explicitly contrast itself with them.
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 describes the internal lookup fallback but offers no guidance on when an agent should call get_profile versus alternatives like about, search, or get_project. There are no explicit when-to-use or when-not-to-use statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectOne projectCInspect
A single project of a profile. Returns nothing for private projects.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of text fields (recipe, badges, topic names). Default: en. | |
| mode | No | kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles. | |
| seed | No | Street seed. Default: gece-sehri. | |
| github | No | Look up GitHub’s public data. Default: true. | |
| handle | Yes | ||
| project | Yes | Project name or id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it discloses only one trait: private projects yield nothing. It does not say whether that means an empty result versus an error, what the returned project object contains, or whether any auth/visibility rules apply.
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?
Two sentences, zero waste, and the private-project caveat is stated up front. But the brevity tips into under-specification: the lead sentence is a fragment rather than a front-loaded statement of action and result.
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?
For a six-parameter read tool with no annotations and no output schema, the agent needs to know what a project object looks like and how it differs from a profile. The description covers neither, and it never touches the mode/seed context that shapes non-default modes.
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 coverage is 83%, so the schema already documents lang, mode, seed, github, and project; the description adds no further meaning. Notably, 'handle' has no schema description and the description does nothing to explain it or its relation to 'project'.
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 identifies the resource ('a single project of a profile') but is a noun fragment with no verb, so the agent must infer retrieval from the tool name. It implicitly contrasts with list_projects by saying 'a single project', but never names that sibling or states the operation explicitly.
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?
'Returns nothing for private projects' is a caveat about outcomes, not a when-to-use rule; there is no guidance on when to call this versus list_projects, get_profile, or preview_building. The agent gets no exclusion criteria or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statsVisits of a buildingCInspect
Unique visits (all time and this week), project views, weekly rank and the last 14 days for one username.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It does reveal the returned metrics (unique visits all time/this week, project views, weekly rank, last 14 days), which is useful behavioral context, but it omits access requirements, rate limits, return structure, and whether results are scoped by anything beyond the username.
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?
The description is a single compact sentence with no filler. It is front-loaded with the returned metrics, though it could be more structurally organized around purpose and usage.
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?
For a one-parameter read-only-style stats tool with no output schema, the description does enough to list the key metrics. However, without annotations or an output schema, it should say more about return shape, limitations, and when the username-based stats are appropriate.
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% and the only parameter is 'handle.' The description partially compensates by indicating the handle identifies a username, but it does not specify format, constraints, or how the username is resolved.
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 specific metrics and says they are for one username, so an agent can infer it returns visit/project stats. However, it never states a clear verb or resource like 'retrieve user statistics,' and the title 'Visits of a building' conflicts with the username-focused description, making the intended target ambiguous.
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?
There is no guidance on when to use this tool instead of siblings such as get_profile, popular, live, or get_building. The only contextual hint is 'for one username,' which does not establish alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_streetA stretch of the streetBInspect
Buildings in a range (owner, type, floors, light counts) and gaps (alleys, empty lots). Positions in centimetres, at most 80000 cm.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End x (cm). Default 12000. | |
| from | No | Start x (cm). Default -3000. | |
| lang | No | Language of text fields (recipe, badges, topic names). Default: en. | |
| mode | No | kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles. | |
| seed | No | Street seed. Default: gece-sehri. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It usefully discloses the returned content categories (buildings with owner/type/floors/light counts, and gaps such as alleys and empty lots) and the coordinate system and maximum span, but it does not state read-only behavior, authentication requirements, or response format.
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?
The description is a single dense sentence with no wasted preamble. The key scope and unit information is front-loaded, though the sentence is compressed enough that the implied retrieval verb and response shape remain slightly understated.
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?
For a retrieval tool with no output schema and no annotations, the description gives a reasonable account of what comes back: buildings and gaps with a few named fields and centimetre positions. It does not fully describe the response structure, but it covers enough for an agent to understand the street-segment concept.
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 100%, so all five parameters are already documented in the schema. The description adds only a small amount of meaning by reiterating centimetre units and the 80000 cm maximum, which relates to the from/to range parameters but does not explain mode, seed, or language behavior beyond the schema.
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 identifies the resource and its scope: a stretch of street containing buildings in a range and gaps such as alleys and empty lots. It also specifies coordinate units and a maximum span, which helps distinguish it from the sibling get_building tool, though the verb is only implied by the tool name.
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?
There is no explicit guidance on when to use get_street versus alternatives like get_building, preview_building, or search. The range and maximum span imply usage for collecting a contiguous street segment, but the description leaves the agent to infer that comparison.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsProjectsBInspect
A profile’s projects: state, description, stack, links (repo, site) plus open-source contributions. Private projects appear only as hidden:true.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of text fields (recipe, badges, topic names). Default: en. | |
| mode | No | kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles. | |
| seed | No | Street seed. Default: gece-sehri. | |
| github | No | Look up GitHub’s public data. Default: true. | |
| handle | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses returned fields and that private projects appear only as hidden:true, but it does not mention permissions, pagination, ordering, or other list behavior.
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?
The description is a single front-loaded sentence that lists the relevant return content and privacy behavior. Every part contributes information without repetition or filler.
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?
Given a fairly rich schema with documented enum/default parameters and no output schema, the description supplies the key purpose, return fields, and private-project behavior. The main remaining gap is that it does not route the agent against sibling tools, but that is primarily a usage-guideline concern.
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 80%, so most parameters are already documented in the schema. The description adds no parameter-specific meaning, and the required handle parameter lacks a schema description, leaving its semantics only implicitly covered by 'A profile's projects'.
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 clearly identifies the resource as a profile's projects and lists the fields returned, including open-source contributions. It is distinguishable from the singular get_project sibling, but it does not explicitly state a verb like 'list' or directly name an 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?
The description gives no guidance on when to use this tool versus alternatives such as get_project, get_profile, or search. It implies usage by describing the returned data, but does not state any conditions, exclusions, or sibling routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_roomsRooms of a personAInspect
The project rooms of a person that have been used (every public project of a resident has a room, open by default; one nobody wrote in is empty and not listed): mode (open or read-only), channels with message counts, forum threads, last activity and how many are in voice. Closed rooms and private projects never appear.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | Username, with or without @. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden and mostly does: it declares scope (only used rooms of public projects, opened by default), the contents returned (mode, channel message counts, forum threads, last activity, voice occupancy), and hard exclusions (closed rooms, private projects). It omits pagination/result limits and any auth or rate-limit context, which is the main remaining gap for a list tool.
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?
It is a single sentence, but a heavily nested one: a parenthetical aside, then a colon-introduced list of returned fields spliced into the middle. The core claim (list a person's rooms) is front-loaded, yet the sentence is harder to parse than it needs to be and could be split.
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?
With no output schema, the description does the work of sketching the return shape (mode, channels with counts, threads, last activity, voice participants) and the visibility rules. Missing pagination or ordering behavior is the only substantive hole for a read-only enumerator.
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?
One required parameter whose schema entry is fully documented ('Username, with or without @.'), so coverage is 100%. The description adds nothing about the handle or whether it accepts display names/IDs, so the baseline 3 applies.
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 the resource precisely: project rooms belonging to a given person, restricted to public/open projects. It does not name a sibling to contrast with, but the exclusion clauses ('closed rooms and private projects never appear') implicitly separate it from list_projects and get_project.
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?
Usage is implied rather than stated: an agent can infer this is the enumeration path for a person's rooms, and the note that empty/closed/private rooms are omitted is a useful conditional. But there's no explicit when-to-use versus read_room or vs list_projects, and no prerequisites or handle requirements beyond the schema field.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
liveWhat is happening nowAInspect
Voice rooms with people in them right now and the rooms with messages in the last 48 hours. Voice presence comes from the running site (BYTELAND_URL, default http://127.0.0.1:8787); without it only the recent rooms are known.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose a real operational trait: voice presence is sourced from a running site at BYTELAND_URL (default http://127.0.0.1:8787) and degrades to recent rooms only without it. That is genuinely useful context. However, it says nothing about read-only nature, ordering, limits, or result shape, leaving significant gaps for an annotation-free tool.
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?
Two tight sentences with the main output definition front-loaded and the environment caveat second. No wasted words, though the phrasing 'Voice rooms with people in them right now' is slightly informal for a technical spec.
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?
There is no output schema and no annotations, so the description must define the return; it names the two result categories and the fallback behavior but omits ordering, result limits, and the actual shape of a room entry. Adequate to decide whether to call it, but not complete for interpreting the response.
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 and the schema is empty at 100% coverage, so there is nothing for the description to disambiguate. The baseline for a no-parameter tool applies, with the description implicitly confirming no filtering inputs are needed.
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 specifies exactly what the tool returns: voice rooms with active participants plus rooms with messages in the last 48 hours. The name 'live' alone is opaque, but combined with the title and the two-sentence description the intended scope is clear. It doesn't explicitly contrast itself with siblings like list_rooms or popular, so it stops short of a 5.
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?
The 'right now' / 'last 48 hours' framing implies when to use it (current activity snapshots), but there are no explicit exclusions and no named alternative such as list_rooms or read_room. The agent must infer the boundary between this and the sibling listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
popularMost visitedAInspect
The leaderboard: buildings by unique visits this week (or period: "all"), the most viewed projects and the newest residents. A visit counts once per person per day; owners do not count themselves.
| Name | Required | Description | Default |
|---|---|---|---|
| period | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose useful counting semantics, including that visits count once per person per day and owners do not count themselves, but it does not describe return format, limits, ordering, or whether the operation is purely read-only.
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?
The description is compact and front-loaded, beginning with 'The leaderboard' before listing the ranked entities. Every sentence adds useful information about scope or visit-counting semantics.
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?
For a simple read-style popularity tool with one optional parameter and no output schema, the description covers the main returned categories and the key counting rule. It does not specify response shape, ordering, or pagination, but those gaps are relatively minor for this complexity level.
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%, so the description must explain the single optional period parameter. It does so by indicating the default weekly scope and the '"all"' period value, though it does not explicitly state the 'week' enum value or the default behavior in formal terms.
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 clearly identifies the resource as a leaderboard and names the ranked entities: buildings by unique visits, most viewed projects, and newest residents. It is specific enough to distinguish from generic stats, but it does not explicitly contrast itself with sibling tools such as get_stats or list_projects.
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?
The description implies that this tool is for popularity rankings, but it gives no explicit guidance on when to use it versus alternatives such as get_stats or list_projects. It also does not state exclusions or prerequisites for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_buildingDeed previewBInspect
Builds a user's building as if it stood at the start of a street (GitHub repositories become rooms). The preview is not added to the city. Append the returned url_hash to index.html to open it on the site.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of text fields (recipe, badges, topic names). Default: en. | |
| github | No | Look up GitHub’s public data. Default: true. | |
| handle | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses that the operation does not persist ("not added to the city") and that it returns a url_hash for opening the preview, but it says nothing about permissions, authentication, rate limits, or whether repeated calls are cached or costly.
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 short sentences: the core action and metaphor come first, the non-persistence constraint second, and the practical url_hash usage last. The structure is front-loaded and mostly free of waste, though the metaphor adds a little interpretive overhead.
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?
For a three-parameter preview tool with no annotations and no output schema, the description does explain the key return value (url_hash) and the non-persistent behavior. However, it leaves the required handle parameter and the github toggle unexplained, and gives no sense of side effects or preconditions beyond non-persistence.
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 coverage is 67%: lang and github have schema descriptions, while the required handle parameter is undocumented in both schema and description. The description only implicitly connects the action to a user handle and GitHub data, so it does not meaningfully compensate for the gap.
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 and resource ("Builds a user's building") and explains the domain metaphor (repositories become rooms). It also implicitly distinguishes itself from get_building by noting the result is a preview that is not persisted, though it does not name the sibling explicitly.
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?
The non-persistence note ("not added to the city") implies this is for previewing before committing or fetching an existing building, but there is no explicit when-to-use guidance or named alternative among the many sibling tools such as get_building or get_street.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_roomRead a roomBInspect
The latest messages of one channel of a project room (default: its first channel) and the forum threads (idea, review, question, announcement) with reply and reaction counts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | How many recent messages. Default 30. | |
| handle | Yes | ||
| channel | No | Channel name or id. Default: the first channel. | |
| project | Yes | Project id (the repository name for GitHub projects). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the returned content shape (latest messages, thread types, reply/reaction counts) and the default channel selection, but says nothing about permissions/visibility, ordering of results, or whether the limit applies to threads as well as messages.
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?
A single compact sentence with no filler, and the primary content (latest messages) is front-loaded. The parenthetical list of thread types is informative rather than wasteful, though the sentence-fragment phrasing slightly hurts scannability.
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?
For a four-parameter read tool with no output schema and no annotations, the description does cover the returned payload, which compensates for the missing output schema. However, it leaves the required 'handle' parameter and the relationship between 'handle' and 'project' unexplained, and offers no routing guidance against the nearby read_thread/list_rooms siblings.
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 coverage is 75%, so the documented parameters (limit, channel, project) are already explained in the schema. The description adds only the default-channel behavior, which duplicates the channel field description, and the required 'handle' parameter has no description in either the schema or the text, leaving a real gap.
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 clearly states what data is returned: the latest messages of one channel of a project room plus forum threads (idea, review, question, announcement) with reply and reaction counts. The scope is concrete and the default-channel behavior is disclosed. It is written as a noun phrase with no explicit verb and never names the sibling it differs from (read_thread, list_rooms), so it falls short of 5.
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?
There is no statement of when to call this tool versus read_thread or list_rooms, and no prerequisites or exclusions. The only guidance is the implicit default ('default: its first channel'), which merely restates the schema rather than directing tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_threadRead a forum threadCInspect
One forum thread of a project room with all of its replies and reactions.
| Name | Required | Description | Default |
|---|---|---|---|
| handle | Yes | ||
| thread | Yes | Thread id (from read_room). | |
| project | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the return scope (the thread plus all replies and reactions), which hints at potentially large payloads, but says nothing about access permissions on a 'project room', whether the handle identifies a user, or response size/pagination behavior.
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?
A single short sentence with no filler, and the resource identity is front-loaded. It is efficient, though brevity here shades into under-specification rather than tightness.
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?
For a tool with zero annotations, no output schema, and two undocumented required parameters, the description is too thin. An agent knows roughly what comes back but not what handle/project must be, nor any access constraints on reading a project room's thread.
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 coverage is only 33% — just 'thread' is documented (and that note lives in the schema, not the description). The description does not explain what 'handle' or 'project' mean or their relationship to the room, so it fails to compensate for the coverage gap on two of three required parameters.
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 sentence names the resource (one forum thread of a project room) and its scope (all replies and reactions), which implies a read of a single thread and contrasts implicitly with read_room. However, it is a noun phrase with no verb and never states that the tool retrieves/returns the thread, so the purpose is inferred rather than declared.
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?
There is no when-to-use guidance, no mention of read_room or list_rooms as alternatives, and no stated prerequisites. The only hint is the schema note 'Thread id (from read_room)', which is in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchSearch BytelandBInspect
Find people, projects and stacks across every resident of the city (people, projects, stacks), plus buildings on the street by username, name, project or technology (results). Private projects never appear.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Language of text fields (recipe, badges, topic names). Default: en. | |
| mode | No | kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles. | |
| seed | No | Street seed. Default: gece-sehri. | |
| query | Yes | ||
| radius | No | Street chunks to scan on both sides (1 chunk = 80 m). Default 4. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since there are no annotations, the description carries the full burden. It successfully discloses the scope (city-wide) and a key behavioral rule (privacy filtering), which is valuable context.
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?
The description is highly efficient. It is a single paragraph that uses strong, specific verbs and immediately communicates the scope and one major functional constraint, without unnecessary filler.
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?
Given the complexity of the inputs (including language, mode, and radius), the description is a 'minimum viable' explanation. It covers the 'what' and 'where,' but the specific meanings of complex parameters like 'mode' are deferred to the schema.
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 schema coverage is high (80%), meaning the schema provides most of the semantic meaning. The description focuses on the general search function rather than providing deep meaning beyond what the structured schema already covers.
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?
Clearly states the tool's purpose is to 'find people, projects and stacks' plus 'buildings on the street.' It specifies the scope as 'across every resident of the city,' which distinguishes it from granular tools like get_profile.
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 provides a critical limitation ('Private projects never appear'), which serves as a usage guideline for when to expect certain data. It implies when not to use it (if private data is needed), but does not explicitly recommend it over siblings.
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.
14 tool updates
- First observed
about - First observed
get_building - First observed
get_profile - First observed
get_project - First observed
get_stats - First observed
get_street - First observed
list_projects - First observed
list_rooms - First observed
live - First observed
popular - First observed
preview_building - First observed
read_room - First observed
read_thread - First observed
search
Related MCP Connectors
The open-source talent graph for humans and AI agents. Find developers.
Hire engineers by what they shipped: find, judge and shortlist developers from public GitHub work.
Growth marketing and vibe coding: search the codices, find and join events, see the passes.
Hiring developers? Find and source software engineers by what they build on GitHub.
Related MCP Servers
- AlicenseAqualityCmaintenanceSocial layer for AI coding — DMs, presence, discovery, and multiplayer games between developers. 68 tools including messaging, presence, memory, and 27 multiplayer games.968 npmMIT
- AlicenseNot gradedqualityDmaintenanceThe world's first social network accessible only through AI coding agents, enabling developers to connect, share posts, and engage with others without leaving their coding environment.MIT
- AlicenseNot gradedqualityCmaintenanceEnables independent coding agents and any HTTP caller to communicate in shared rooms, with @-mention and broadcast wake-ups so sessions notice messages even when idle.MIT
- AlicenseNot gradedqualityCmaintenanceA social network MCP server that lets AI-powered IDEs connect and interact with other developers through messaging, public feed posts, resource sharing, and user discovery by tech stack.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.