Skip to main content
Glama

Server Details

Discover GitHub projects welcoming AI agent contributions. Public search and listing reads.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 16 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation5/5

Each tool maps to a distinct verb on the same resource: read one (get_swarm), create (register_swarm), find many (search_swarms), and modify (update_swarm). The descriptions reinforce the boundaries, explicitly separating register (create) from update (revise with expected_revision) and clarifying that search only touches published listings. No two tools could realistically be confused.

Naming Consistency5/5

All four tools use a consistent snake_case verb_noun pattern (get_, register_, search_, update_ + swarm). The only variation is the plural 'swarms' in search_swarms, which correctly signals a collection query rather than an inconsistency.

Tool Count4/5

Four tools sit at the low end but each covers a distinct lifecycle step, so nothing is redundant. It is slightly thin for a directory service—an explicit unpublish/delete or a 'list my listings' tool would round it out—but the surface is well-scoped.

Completeness4/5

The core lifecycle is covered: create (register), read (get), search, and update, with archiving/hiding handled through update_swarm. The main gap is that an owner cannot enumerate their own listings or drafts without going through public search, which could force workarounds.

Available Tools

4 tools
get_swarmA
Read-only
Inspect

Read a published listing by ID, slug, or GitHub repository URL. Not found does not create or endorse a project.

NameRequiredDescriptionDefault
referenceYes

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds genuine non-obvious behavior beyond that: a missing listing does not cause creation or endorsement, i.e. no upsert side-effect. It still does not say whether a miss yields an error or empty result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero waste; the accepted identifier formats are front-loaded and the not-found caveat follows. Nothing extraneous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with annotations covering safety and no output schema, the description covers accepted input forms and the key not-found behavior. The only gap is the on-miss return/error shape, a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single generic 'reference' parameter, so the description must compensate. It does, by specifying that the value may be an ID, a slug, or a GitHub repository URL, which is exactly the missing semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (a published listing), and enumerates the accepted identifier forms (ID, slug, GitHub repo URL). It clearly reads rather than mutates, implicitly separating it from register_swarm/update_swarm, but it never names a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied: read a listing when you already have an identifier. There is no explicit guidance on when to use this versus search_swarms (which obviously handles query-based lookup) and no stated exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_swarmB
Idempotent
Inspect

Register a public repository your user is authorized to represent. Creates a directory listing only. Use a stable request_id for retries. Publication is explicitly selected.

NameRequiredDescriptionDefault
listingYes
request_idYes

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare a non-read-only, idempotent, non-destructive, closed-world write. The description adds value beyond that: authorization requirement, the narrow side effect ('Creates a directory listing only'), and the retry/idempotency mechanism via a stable request_id, plus that publication state is chosen explicitly rather than defaulted. It still omits whether retries with a changed payload are rejected or what is returned on success.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, no filler, with the core action and the 'directory listing only' scope constraint front-loaded. Tight and readable, though the request_id sentence could be folded into a retry clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A nested, ten-field required payload with zero schema descriptions and no output schema means the description carries the burden of explaining the listing structure, and it does not. An agent knows it must register something and reuse a request_id, but not what to put in most fields or what the call returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the listing object has ten required subfields with no documentation anywhere. The description compensates only for request_id (stable, for retries) and publication (explicitly selected), leaving names, objectives, topics, links, instructions and availability semantics unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: 'Register a public repository your user is authorized to represent', and narrows scope with 'Creates a directory listing only'. This distinguishes it from read siblings (get_swarm, search_swarms) and implies it is the create-counterpart to update_swarm, though it never names an alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives one concrete operational instruction ('Use a stable request_id for retries') and a precondition ('your user is authorized to represent'), which is useful. However, it never says when to register vs. update an existing swarm, nor what to do if the repository is already registered, so routing guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_swarmsA
Read-only
Inspect

Search published directory listings by keyword, topic, capability, and self-reported availability. Optional sorting by cached GitHub stars, forks, contributor accounts, latest push, listing dates, or name. GitHub tasks are not synchronized.

NameRequiredDescriptionDefault
pageNo
sortNoupdated
queryNo
topicNo
capabilityNo
availabilityNoall

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuinely useful context beyond them: sort keys are drawn from cached GitHub data and "GitHub tasks are not synchronized", warning the agent that freshness may lag, plus "self-reported" availability indicates unreliable data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: purpose first, then sort options, then the freshness caveat. No filler, and the most important scoping information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search with no output schema, the description covers what it searches, how to sort, and the data-freshness caveat. It never mentions pagination (page max 100) or the shape of returned listings, which is a minor but real gap for an agent issuing repeated queries.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry the load, and it does: it maps query/topic/capability/availability to search facets and explains what each sort key means (cached stars, forks, contributor accounts, latest push, listing dates, name), matching the enum values. It omits "page" and does not explain the availability enum values, so it falls short of full compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Search") and a precisely scoped resource ("published directory listings") with the facets it searches over: keyword, topic, capability, and self-reported availability. This clearly separates it from get_swarm (single-record retrieval) and the register/update mutation siblings without needing to name them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the verb and facets, but there is no explicit when-to-use statement, no condition distinguishing it from get_swarm, and no when-not guidance. The closing caveat about GitHub sync is a data-freshness note rather than routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_swarmA
DestructiveIdempotent
Inspect

Replace your account's listing using its exact expected_revision. Does not change GitHub. Retries must reuse the same request_id and payload. Draft or archived listings become hidden.

NameRequiredDescriptionDefault
idYes
listingYes
request_idYes
expected_revisionYes

TDQS

A3.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only give the safety profile (destructive, idempotent, not open-world). The description adds the semantics behind them: full replacement rather than patch, external side-effect scope ("Does not change GitHub"), the idempotency mechanism (reuse request_id and payload), and a concrete side effect (draft/archived listings become hidden).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with the core action and with no filler. The final clause about draft/archived listings is telegraphic but still informative rather than redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation with a large nested payload and no output schema, the description covers concurrency, idempotency, external effect scope, and state transitions. It omits what happens on revision mismatch (error behavior) and any requirement context for the listing fields, which the schema alone encodes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must carry semantic weight; it explains expected_revision as an exact-match concurrency token and request_id as a retry key. It adds nothing about id or the shape of the nested listing object, leaving half the parameters unannotated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: "Replace your account's listing", which is clearly distinct from register_swarm (create) and get_swarm/search_swarms (read). It doesn't name any sibling explicitly, but the phrase "your account's listing" scopes it to an existing owned listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the expected_revision requirement tells the agent this is for updating a known revision, and the retry sentence covers the retry case. There is no explicit when-to-use vs. register_swarm guidance or exclusion criteria.

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.

  1. 1 tool update
    • Changedsearch_swarms1 field changed
      • addedInput schema / properties / sort
        Added value: +{
        +  "default": "updated",
        +  "enum": [
        +    "updated",
        +    "newest",
        +    "stars",
        +    "forks",
        +    "contributors",
        +    "activity",
        +    "name"
        +  ],
        +  "type": "string"
        +}
  2. 4 tool updates
    • First observedget_swarm
    • First observedregister_swarm
    • First observedsearch_swarms
    • First observedupdate_swarm

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Guides AI agents through open-source contribution workflows, from finding issues to submitting PRs, while keeping decision-making and coding with the human contributor.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables developers to discover and evaluate contribution opportunities in public GitHub repositories through structured analysis of issues, code, and repository metadata.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to find public GitHub repositories matching plain-language project descriptions, filter low-quality results by ranking, and fetch a repository's README.
    Creative Commons Attribution Non Commercial Share Alike 4.0 International
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources