Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.4.0

  • Disambiguation5/5

    Each tool targets a distinct operation: recent context retrieval, cross-account search, thread reading, project summary retrieval, and project summary update. The overlap between recent context and project summary is intentional, and descriptions clarify the difference.

    Naming Consistency4/5

    All tools share the 'history_' prefix and mostly follow a verb_noun pattern (get_recent_context, get_thread, get_project_summary, update_project_summary). The exception is 'history_search' which lacks an explicit object, but the pattern remains clear.

    Tool Count5/5

    With five tools, the set is well-scoped for a history hub: retrieval, search, and update operations. Each tool serves a clear purpose without redundancy.

    Completeness4/5

    The surface covers core history workflows: recent context, search, thread retrieval, and project summary read/update. A minor gap is the lack of an explicit list projects tool, but search and recent context can compensate.

  • Average 3.5/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 2 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior3/5

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

    With no annotations, the description carries the full burden and does add some behavioral context: 'Subagents are excluded by default' and 'primary conversation summaries.' However, it omits return format, recency definition, required context, and potential side effects, so transparency is only partial.

    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?

    The description is short, front-loaded with the main action and resource, and every sentence adds value. It is not overly verbose, though it could be slightly more organized given the absence of schema descriptions.

    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?

    With four parameters, no output schema, and no annotations, the description is too brief to be complete. It covers the core purpose and one default, but leaves parameter behavior, return structure, and recency semantics unspecified.

    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%, but the description only clarifies the include_subagents default (false) and hints at 'recent' limiting summaries. It does not explain limit, source, or project parameters, leaving most of the parameter semantics unexplained.

    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?

    The description uses a specific verb ('Get') and resource ('project overview plus recent primary conversation summaries'), which clearly states what the tool returns. It also distinguishes itself from siblings like history_get_project_summary by including recent conversation summaries and noting subagent exclusion.

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

    Usage Guidelines2/5

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

    The description does not explicitly state when to use this tool versus alternatives such as history_get_thread or history_get_project_summary. It provides no exclusions, prerequisites, or alternative guidance, only a statement of what the tool does and a default behavior.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It discloses a caution about 'full' mode requiring explicit user request, which is useful. However, it does not describe return behavior, side effects, or cost implications for other modes (summary/relevant).

    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 sentences, direct and front-loaded. Every word earns its place, with no fluff or repetition.

    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?

    For a tool with 5 parameters, no output schema, and no annotations, the description is far from complete. It omits parameter semantics, return value expectations, and any mention of resource costs besides the 'full mode' caution.

    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?

    The input schema has 0% description coverage, so the description must compensate. It only references 'full mode' (one enum value) but does not explain thread_id, query, max_chars, include_tools, or mode differences. This is insufficient for 5 parameters.

    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?

    The description clearly states the verb 'read' and the resource 'history thread', and introduces the prerequisite of identifying the thread via recent context or search. It does not explicitly name sibling tools, but the reference to 'recent context or search' strongly implies the context.

    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?

    The description implies a usage flow (identify thread first) and provides a specific constraint for 'full' mode, but does not explicitly state when to use this tool versus alternatives or provide exclusions. Sibling tools are not named, so guidance is only implicit.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the full burden of behavioral disclosure. It only describes the trigger conditions ('older history', 'explicit ask'), not what the tool actually does behaviorally—such as whether it is read-only, how it handles permissions, whether it searches across accounts in real-time, or what the return format is. This is a significant transparency gap.

    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?

    The description is two sentences long, front-loaded with the core purpose, and includes a direct usage condition. Every word earns its place with no fluff or repetition.

    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?

    Given 6 parameters, no annotations, and no output schema, this description is too sparse. It doesn't explain how results are ordered, whether there are date-range filters, how 'cross-account' affects results, or what the response looks like. Sibling tool names provide some context, but the tool is incomplete for an agent to use it correctly in varied scenarios.

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

    Parameters1/5

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

    Schema description coverage is only 17% (only include_technical has a description), and the description text adds no parameter-level meaning. The mention of 'older date/source/topic' weakly hints at the query/source parameters, but limit, project, and provider are entirely unexplained. The description does not compensate for the schema's lack of detail.

    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?

    The description states a specific verb ('Search') and resource ('older cross-account history'), clearly distinguishing this from sibling tools like history_get_recent_context or history_get_thread. The phrase 'cross-account' adds scope, making the tool's unique function clear.

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

    Usage Guidelines4/5

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

    The description explicitly states when to call the tool: 'when the user explicitly asks to search past history, names an older date/source/topic, or recent context is insufficient.' This provides strong conditional guidance, though it doesn't name specific alternative tools for the 'when not' cases.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries full burden. It discloses that the operation does not load conversation transcripts, implying a lightweight read. However, it does not explicitly state whether it is read-only, what 'durable overview' contains, or error behavior.

    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?

    A single sentence with no filler; the information is front-loaded and every word adds value.

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

    Completeness3/5

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

    With no annotations or output schema, the description provides core purpose and one distinguishing behavior, but omits parameter details, explicit alternative tool references, and return format. It is adequate for a simple getter but has gaps.

    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?

    The schema has one parameter 'project' with no description (0% coverage). The description fails to explain the parameter format or whether it is required (required params = 0). The name 'project' is self-evident but no further guidance is given.

    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?

    The description uses a specific verb ('Get') and identifies a distinct resource ('durable overview of a project') while explicitly differentiating from sibling tools that load conversation transcripts (like history_get_thread). This clearly communicates what the tool does and how it differs.

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

    Usage Guidelines4/5

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

    It clearly indicates the use case: retrieving a project overview without loading full transcripts, which implies when to prefer this over history_get_thread. However, it does not explicitly name alternatives or state exclusions, preventing a 5.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It discloses a critical behavioral trait: writes only to the independent Hub and never to source Codex stores, which is valuable side-effect context. It does not mention permissions, return behavior, or whether the update is idempotent, but the most essential transparency about write scope is present.

    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?

    The description is two short sentences that are front-loaded with the action ('Update') and the resource. Every word adds value: the scope ('independent Hub only') and the exclusion ('never writes to any source Codex account/session store') are concise and non-redundant.

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

    Completeness3/5

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

    For a mutation tool with no annotations and no output schema, the description provides a solid baseline: it states the core function and a key side-effect boundary. However, it leaves gaps such as what 'confirmed durable' means, whether the summary replaces the entire overview, and what success/failure looks like. Basic use is clear, but important details for safe invocation are missing.

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

    Parameters1/5

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

    The schema description coverage is 0%, and the description does not clarify the meaning of the 'project' and 'summary' parameters. The phrase 'project overview' hints that 'summary' might be the new overview text, but it does not explicitly state that 'project' is the identifier or what format the summary should take. The description completely fails to compensate for the schema's lack of parameter descriptions.

    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?

    The description uses the specific verb 'Update' and names the resource as 'the confirmed durable project overview in the independent Hub only,' which precisely identifies the tool's function. It clearly distinguishes this write operation from the sibling read-only tools like history_get_project_summary and history_search.

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

    Usage Guidelines4/5

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

    The description implies when to use this tool: whenever you need to update the durable project overview. It also draws a clear boundary by stating it never writes to source Codex account/session stores. However, it does not explicitly name alternative tools or state when not to use it, though the sibling tools are all read-oriented, making the intended context fairly clear.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

codex-history-hub MCP server

Copy to your README.md:

Score Badge

codex-history-hub MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smallpinksquare/codex-history-hub'

If you have feedback or need assistance with the MCP directory API, please join our Discord server