Skip to main content
Glama
letzdoo

Odoo Index MCP

by letzdoo

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct operation: concise search, full details, module listing, stats, references, attribute-based search, XML ID search, index update, and status. No overlap in functionality.

    Naming Consistency5/5

    All tools follow a consistent verb_noun snake_case pattern (e.g., search_odoo_index, get_item_details, find_references). No deviations.

    Tool Count5/5

    With 9 tools, the set is well-scoped for an Odoo index server. Each tool serves a clear purpose without unnecessary bloat or gaps.

    Completeness4/5

    The tools cover all essential query types (search, details, stats, references, attribute search, XML ID search) and index management (update, status). Minor gap: no tool for deleting specific index items, but that's administrative.

  • Average 4.2/5 across 9 of 9 tools scored. Lowest: 3.1/5.

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

    • No community issues in the last 6 months
    • 0 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 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

  • Behavior2/5

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

    No annotations are provided, and the description offers limited behavioral context beyond the return type. There is no mention of side effects, permission requirements, or performance implications, leaving the agent underinformed.

    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 concise, uses a clear structure with Args and Returns sections, and front-loads the purpose. It loses a point for the slightly verbose docstring format, but overall it's efficient.

    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?

    Given the presence of an output schema, the description adequately covers return values. However, it lacks usage guidelines and behavioral transparency, which are important for a tool with 3 parameters and no annotations. Thus it is minimally viable but has gaps.

    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 description adds meaning to all three parameters (item_type, name, reference_type) beyond the bare schema, which has 0% coverage. It explains the role of each parameter, especially reference_type as a filter. A higher score would require more detail on allowed values.

    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 'find' and resource 'references to a specific Odoo element across the codebase', which is specific and actionable. However, it does not differentiate from sibling tools like search_odoo_index or get_item_details, thus a 4.

    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 vs alternatives, no exclusions, and no context for appropriate usage. It solely describes the function without usage recommendations.

    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 bears full responsibility for behavioral disclosure. However, it only states the purpose and does not reveal side effects, read-only nature, or other behavioral traits. For a tool requesting statistics, it is unclear if any state changes occur.

    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: two sentences plus a bullet-point-like listing of args and returns. Every piece of information serves a purpose without redundancy. It is well-structured and 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?

    Given the existence of an output schema (not shown but known from context signals), the description does not need to detail return values extensively. It briefly describes returns as 'counts by item type'. The tool is simple with one parameter, and the description covers purpose, input with examples, and return type. Minor gap: behavioral traits not disclosed, but overall adequate.

    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 input schema has a single 'module' parameter with type string and no description (0% coverage). The description adds examples ('e.g., 'sale', 'account', 'stock''), which significantly helps the agent understand expected values. This goes beyond what the schema provides.

    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 verb 'Get' and the resource 'detailed statistics for a specific Odoo module'. This distinguishes it from sibling tools like 'list_modules' (which lists modules) and 'get_item_details' (which gets details of items).

    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. It does not mention use cases, prerequisites, or when not to use it. The agent is given no context to differentiate between this and similar tools like 'get_item_details'.

    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 provided, so description bears full burden. It discloses the return type (list with item counts) and optional filtering by pattern, but does not mention performance, authentication needs, or pagination behavior. Adequate but lacks depth.

    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 brief and well-structured: purpose, parameter, return value. Every sentence contributes, though the tool name could be included more integrally.

    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?

    Given the tool's simplicity (one optional parameter, output schema exists), the description is adequate but missing best practices like recommending pattern syntax or explaining differences from sibling tools.

    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 single parameter 'pattern' has significantly enriched description: 'Filter by module name pattern (optional)' adds meaning beyond the schema's basic type definition. With 0% schema description coverage, this is a clear value-add.

    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 lists all indexed Odoo modules, a specific verb and resource. This distinguishes it from siblings like search_odoo_index (searches across models) and get_item_details (specific item).

    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_odoo_index or get_module_stats. There are no context cues about typical use cases or limitations.

    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 behavioral disclosure. It transparently details the returned information (database location, running status, item counts, progress), indicating a read-only operation. However, it does not mention authentication requirements or rate limits, which would enhance transparency.

    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-loading the core action and then bullet-listing return information. Every sentence contributes meaning without redundancy or fluff.

    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?

    Given no parameters and an output schema that presumably details the return structure, the description is complete. It lists all relevant return fields and the purpose, making further elaboration unnecessary.

    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 tool has zero parameters, and the description provides rich context about what the tool returns, adding value beyond the empty input schema. The baseline for 0 parameters is 4, but the detailed list of return fields elevates scoring to 5.

    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 gets the current status of the index and ongoing indexing operations, using a specific verb ('Get') and resource ('index status'). It distinguishes itself from sibling tools like search_odoo_index or list_modules by focusing solely on index status, not search or listing details.

    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 usage for checking index status but does not explicitly state when to use this tool versus alternatives (e.g., for progress monitoring vs. searching items). No exclusions or when-not-to-use guidance is provided, leaving the agent to infer context.

    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 adequately discloses behavior: returns specific fields, sorting by relevance, pagination with has_more and next_offset. It does not explicitly state read-only or mention rate limits, but the search context implies no side effects.

    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 well-structured with a summary, details, args, and return format. It is front-loaded but somewhat verbose; however, every sentence adds value.

    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 pagination, sorting, return format, and parameter details. It does not address error handling or empty results, but for a search tool this is sufficient.

    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?

    All 6 parameters are individually described in the Args section, adding meaning beyond the schema (e.g., SQL LIKE patterns for query, default and max for limit). This compensates for 0% schema description coverage.

    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 searches for indexed Odoo elements by name and returns concise results. It specifies the verb, resource, and output format, and distinguishes from sibling get_item_details by noting it returns minimal info.

    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 advises using get_item_details() for full details and explains pagination. However, it does not address when to use search_by_attribute or search_xml_id instead, leaving some ambiguity among siblings.

    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?

    Describes search scope, pattern support (LIKE), pagination, and return fields. No annotation provided, but description sufficiently discloses behavior for a search tool.

    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?

    Well-structured with summary, args table, returns, and examples. Efficient but could be slightly more concise; still clear and scannable.

    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?

    Covers all parameters, return format, behavior, and examples. Output schema exists but description still provides sufficient context for agent to invoke 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?

    Each parameter is explained with type, optionality, defaults, and constraints (max limit). Examples illustrate usage. Schema coverage is 0%, so description fully compensates.

    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?

    Clearly states 'Search for XML IDs by name pattern' and enumerates the types of Odoo elements covered, distinguishing it from sibling tools like search_odoo_index.

    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?

    Provides clear usage context through examples and parameter descriptions, but does not explicitly compare with alternatives or state when not to use this tool.

    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?

    No annotations are provided, so the description carries full burden. It discloses key behaviors: background execution, immediate return, defaults, and a clear warning about clear_db deleting data. Could mention potential performance impact, but overall informative.

    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 well-structured with sections (Args, Returns, Examples) and front-loads the main purpose. It is slightly long but every sentence provides value. Could be trimmed slightly without losing clarity.

    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?

    Given the complexity of 3 parameters and no annotations, the description covers behavior, all parameter details, return status, and examples. An output schema exists but is not needed since the description already explains the return. Fully adequate for agent invocation.

    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%, but the description thoroughly explains all three parameters (incremental, modules, clear_db) with details, defaults, and warnings. This adds significant meaning beyond the raw schema, fully compensating for the gap.

    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 updates the Odoo index by scanning and parsing the codebase, with explicit verb 'update' and resource 'index'. It distinguishes from sibling tools like search_odoo_index (searching) and get_item_details (retrieval).

    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 provides context on when to use incremental vs full indexing, how to specify modules, and when to clear the database. It offers examples covering common cases, though it does not explicitly state when not to use this tool or mention alternatives.

    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?

    No annotations provided, so description must fully disclose behavior. It warns that the tool returns 'ALL information including ALL references, ALL fields, ALL methods, ALL views', which is a critical behavioral trait. It implies read-only operation. No contradictions.

    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?

    Well-structured with a warning, usage conditions, and parameter docs. Information is front-loaded. Slightly verbose but each sentence is informative. Could be trimmed slightly but overall efficient.

    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?

    Description covers purpose, usage guidelines, parameter semantics, and return value ('Complete item details with all references and related items'). There is an output schema known to the system, but the description still explains return value. No gaps given complexity.

    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 description must compensate. It explains each parameter clearly: item_type with examples, name with examples, parent_name specifies required when for fields/methods, module as optional disambiguation. Adds significant value beyond schema types.

    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 'Get FULL details for a specific Odoo element', specifying the verb and resource. It distinguishes from sibling tool 'search_odoo_index' by warning to use that for quick lookups, highlighting this tool's comprehensive nature.

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

    Usage Guidelines5/5

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

    Explicitly states when to use this tool ('when you specifically need: All references, All fields/methods...') and when not to ('Use search_odoo_index() for quick lookups'), providing clear context and an alternative.

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

  • Behavior5/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 disclosure. It thoroughly explains the tool's functionality, including pagination behavior (limit, offset), default values, and filtering capabilities. The examples clarify realistic use cases. No behavioral traits are omitted.

    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 efficiently structured with Args, Returns, and Examples sections. It is concise yet comprehensive, with no redundant sentences. Every sentence adds value, and the format is easy to parse.

    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?

    Given the tool's complexity (5 parameters, 2 required, nested objects, and an output schema exists), the description covers all necessary aspects: all parameters are explained, examples are provided, and the return type is mentioned. It is complete enough for an agent to use 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?

    Schema description coverage is 0%, so the description must compensate. It does so excellently: it explains each parameter's meaning, provides types and examples for item_type and attribute_filters, and clarifies defaults for limit and offset. The examples demonstrate valid parameter combinations.

    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 purpose: 'Search Odoo elements by their attributes (advanced filtering).' It specifies the verb 'search' and the resource 'Odoo elements by attributes', distinguishing it from sibling tools like search_odoo_index which likely perform different kinds of searches.

    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 provides Args, Returns, and Examples, which give clear context on usage. It implies when to use this tool (for attribute-based search) but does not explicitly state when not to use it or list alternatives among siblings. Lacks explicit exclusions.

    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

odoo-indexer-mcp MCP server

Copy to your README.md:

Score Badge

odoo-indexer-mcp 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/letzdoo/odoo-indexer-mcp'

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