Skip to main content
Glama

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool serves a distinct function: embedding, similarity computation, stateless search, and index management. The index_* tools are clearly separated from stateless operations, and search vs index_query are differentiated by whether a persistent index is used.

    Naming Consistency3/5

    Naming mixes styles: embed_text uses verb_noun, index_add uses noun_verb, and similarity/index_stats are nouns. While the index_ prefix provides consistency for index operations, the overall pattern is inconsistent.

    Tool Count5/5

    7 tools is well-scoped for an embedding server, covering core operations without redundancy. Each tool earns its place, and the count is within the ideal range.

    Completeness4/5

    Core workflows are covered: text embedding, similarity scoring, stateless search, and a persistent index with add/query/clear. Missing per-document delete/update or retrieval by ID are minor gaps that don't break typical usage.

  • Average 4/5 across 6 of 7 tools scored. Lowest: 2.9/5.

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

    • No community issues in the last 6 months
    • 7 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under Apache 2.0.

  • 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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral transparency. It states the tool queries an in-memory index but does not disclose return format, ranking details, error behavior, or potential side effects. The description does not add meaningful behavioral context beyond what the one-sentence purpose states.

    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 extremely concise, with one clear sentence followed by a structured parameter list. Every word earns its place, and there is no redundant information or filler. It is appropriately sized for a simple two-parameter tool.

    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 the presence of sibling tools like 'search' and 'similarity', the description lacks essential context to differentiate use cases. It also provides no information about return values or expected output format, which is critical since there is no output schema. The tool is simple, but the description does not fully cover the operational context needed for correct usage.

    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?

    The input schema provides only titles and types for the two parameters (query: string, top_k: integer), with no descriptions. The description adds minimal clarification ('The search query' and 'Number of results to return'), which is helpful but still basic. It does not explain default behavior, acceptable ranges, or edge cases, so it only partially compensates for the schema's lack of descriptions.

    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 identifies the action (query), the resource (in-memory index), and the outcome (most similar stored documents). It distinguishes from generic 'search' by specifying 'most similar', implying a similarity-based search. However, it does not explicitly differentiate itself from the sibling tool 'similarity', which could also involve similarity computations, so it is not fully differentiated.

    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 provides no guidance on when to use this tool versus alternatives such as 'search' or 'similarity'. There are no explicit use cases, prerequisites, or exclusions mentioned. The context for when to select this tool is only implied by the phrase 'most similar stored documents'.

    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 full burden of behavioral disclosure. It clearly states the destructive action (remove all documents) and scopes it to the in-memory index. However, it does not detail irreversibility, impact on ongoing queries, or whether the index structure is preserved.

    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 a single, direct sentence that is immediately clear and free of unnecessary content. It earns every word.

    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 zero-parameter clear operation, the description sufficiently conveys the core behavior. It does not describe return values or side effects, but with no output schema and no parameters, the description is near-complete for this simple tool.

    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?

    The tool accepts zero parameters, so the description cannot add parameter-level detail. The schema has 100% coverage for properties, and parameter semantics are not applicable. A baseline of 4 is appropriate.

    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 'Remove all documents' and names the resource 'the in-memory index', clearly distinguishing it from sibling tools like index_add and index_search. It is unambiguous about the tool's action and scope.

    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 provides no guidance on when to use this tool versus alternatives, nor any context such as prerequisites, side effects for other index operations, or typical scenarios. It simply states what it does.

    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 full burden. It discloses persistence ('persistent in-memory'), the return value (number and ids), and auto-generated ids, but lacks details on duplicate handling, error behavior, or side effects. Some transparency is present but not exhaustive.

    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 concise, front-loaded with the primary purpose, and uses a structured Args list for parameters. Every sentence adds value with no redundancy.

    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?

    Given the tool's moderate complexity and lack of output schema, the description covers purpose, parameter semantics, return values, and persistence. It omits explicit usage alternatives, but that gap is partially addressed by the implied querying context.

    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 coverage is 0%, so the description must compensate. It explains each parameter: documents to embed/store, optional ids, and optional metadatas. This adds meaning beyond the raw type schema, though metadata structure remains somewhat vague.

    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 clearly states 'Add documents to the persistent in-memory index for later querying,' using a specific verb and resource while distinguishing itself from sibling tools like index_query and index_clear. The purpose is unambiguous.

    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 phrase 'for later querying' implies when to use the tool, but it does not explicitly contrast with alternatives or mention when not to use it. No exclusions or alternative tool references are provided.

    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 full burden. It accurately describes a read operation, but it does not explicitly state read-only behavior or mention potential caveats like staleness or performance. The behavior is straightforward enough that a 3 is appropriate.

    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 a single, focused sentence. It is concise and front-loaded, containing no redundant or unnecessary information.

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

    Completeness5/5

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

    For a zero-parameter tool with no output schema, the description fully covers what the tool does and the return value. There is no missing context needed for an agent to invoke it correctly.

    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?

    The tool has zero parameters, so there is no parameter-level information to convey. The baseline 4 applies because the description does not need to compensate for any schema gaps.

    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 ('Return') and a clear resource ('number of documents currently in the index'), making its purpose unambiguous and distinct from sibling tools like index_query or index_clear.

    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?

    No explicit guidance is given about when to use this tool versus alternatives. The use case is implied by its name and description (e.g., when you need a document count), but it does not state exclusions or alternative tools.

    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 provided, the description carries the transparency burden. It discloses the output shape and the Matryoshka truncation dimension, which hints at the internal embedding mechanism. However, it does not mention potential side effects, performance costs, or prerequisites, leaving an adequate but not complete behavioral picture.

    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 a concise intro followed by an argument list and a return note. Every sentence and line adds essential information with no repetition or extraneous content.

    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 tool with modest complexity, no annotations, and no output schema, the description adequately covers purpose, parameters, and return format. It could additionally mention edge cases or explicitly note that raw texts are embedded internally, but the provided information is sufficient for an agent to invoke the tool correctly.

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

    Parameters5/5

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

    The schema provides only titles and types with 0% description coverage, but the description fully compensates by explaining that texts_a forms rows, texts_b forms columns, and dim is a truncation dimension with specific allowed values. This adds crucial semantic meaning far beyond the structured schema.

    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 clearly states 'Cosine similarity matrix between two sets of texts,' which uses a specific verb+resource combination. It distinguishes itself from siblings like embed_text and search by focusing on pairwise similarity comparison.

    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 its usage for computing a similarity matrix but provides no explicit guidance on when to choose this over alternatives like search. There are no when-not conditions or alternative recommendations, so the applicability is only implied.

    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, the description carries the burden of disclosing behavior. It explains the truncation dimension with allowed values, normalization behavior, and the return format (dict with embeddings and dimension). It does not mention any side effects or additional context, but for a pure embedding function this is adequate.

    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 a clean docstring: one-sentence summary, argument list, return statement. No filler words or redundant information.

    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 3-parameter tool with no output schema or annotations, the description covers all parameters and return value. It lacks explicit use-case context but provides enough for correct invocation. It could be improved by stating that it is a pure read-only operation, but that's implied.

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

    Parameters5/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 fully compensate. It does: it explains texts as one or more strings, dim with specific allowed values (512, 256, 128, 64, 32), and normalize with L2 normalization and a recommendation. This goes well beyond the schema's bare property definitions.

    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 opens with 'Embed text(s) into vectors,' which is a specific verb+resource statement. It clearly differentiates from sibling tools like search and similarity by describing the core embedding function.

    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?

    No explicit guidance on when to use embed_text versus sibling tools like similarity or search. It does provide parameter-level guidance (normalize recommended for cosine similarity), which implies a usage context but doesn't address tool selection.

    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, the description carries the full burden. It discloses that the tool is stateless (no side effects) and returns a dict sorted by score descending. It lacks details on edge cases or error behavior, but the core behavioral traits are clear.

    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 concise and well-structured. The first sentence states the purpose, and the Args list efficiently documents parameters without unnecessary fluff.

    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?

    The description covers the main behavior, return format, and all parameters. It could benefit from explicit guidance on when to use it over index_query, but it is sufficiently complete for a simple stateless search tool.

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

    Parameters5/5

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

    The input schema has 0% description coverage, but the description fully compensates by explaining each parameter: query, documents, top_k (default all), and dim (with specific allowed values). This adds significant meaning beyond the raw schema.

    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 clearly states the tool's function: 'Rank documents by relevance to a query' and defines it as 'stateless semantic search', which distinguishes it from index-based siblings like index_query. The verb 'rank' and resource 'documents' are specific.

    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 term 'stateless' implies usage without an index, providing clear context for when to use this tool versus index_query. However, it does not explicitly name alternatives or state when not to use the tool.

    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

Fast-Embedding-MCP-SSE MCP server

Copy to your README.md:

Score Badge

Fast-Embedding-MCP-SSE 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/Rikka-Botan/Fast-Embedding-MCP-SSE'

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