Skip to main content
Glama
rowanlin-dev

ima-mcp-server

by rowanlin-dev

Server Quality Checklist

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

  • Disambiguation4/5

    Most tools have distinct purposes (search vs list vs get, etc.), but get_media_info and get_note_content both handle note retrieval, and search_knowledge_base and get_knowledge_base both deal with KB metadata. Descriptions help clarify which to use, so confusion is limited.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (get_, search_, import_, upload_). The naming is uniform and predictable, with no mixed casing or irregular verb styles.

    Tool Count5/5

    9 tools is well within the ideal 3-15 range. Each tool serves a clear purpose in the knowledge base workflow, and the set feels neither bloated nor sparse.

    Completeness4/5

    The tool set covers the core workflow well: finding KBs, browsing content, searching, retrieving full content, and adding content via URL or file upload. Missing update/delete operations, but these may be outside the intended scope for this server.

  • Average 4.1/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
    • 4 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, so the description must carry the burden of behavioral disclosure. It does mention the batch limit, but does not describe return format, error handling, permissions, or behavior with invalid/duplicate IDs. This is minimal for a read operation.

    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: the first identifies the action and resource, the second states the batch limit. No filler or redundant repetition of schema details.

    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?

    The tool is simple with one fully-documented parameter and no output schema. The description conveys purpose and batch capability, but lacks sibling differentiation and behavioral details. Adequate but with clear gaps given the absence of annotations.

    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 100% and the ids parameter is well-documented (array, 1-20 items, no duplicates). The description adds only the batch size, which duplicates schema info, so the baseline score of 3 applies.

    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 uses a specific verb ('获取' / retrieve) and resource ('知识库详情' / knowledge base details), listing example fields like description and recommended questions. This distinguishes it from get_knowledge_list, which likely lists knowledge bases, though it does not explicitly name alternatives.

    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?

    No guidance is given on when to use this tool versus siblings such as get_knowledge_list or search_knowledge_base. It only states that it supports querying 1-20 knowledge bases, which is a capability, not a selection criterion or exclusion.

    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 discloses scope (specified knowledge base), coverage (files and folders), and return type (titles and snippets), which gives basic clarity. However, it does not mention pagination behavior, cursor use, content depth (full-text vs metadata), or whether it is read-only, leaving some behavioral traits undisclosed.

    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 composed of two short, front-loaded sentences that state the core function and output. No unnecessary words or repetition; every sentence contributes meaningful information. This is appropriately concise.

    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 simple search tool with 3 parameters and no output schema, the description covers purpose, scope, and return type. However, it lacks pagination/cursor handling details and does not address the sibling tool overlap, which are relevant contextual gaps. It is adequate but not fully complete.

    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 100%, so all parameters are documented. The description adds only the context that searching is by keyword and returns titles/snippets, which maps to the 'query' and 'knowledge_base_id' parameters but does not enrich the meaning of 'cursor' or provide format details. This stays at the baseline for full schema coverage.

    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 it searches content by keyword in a specified knowledge base, including files and folders, and returns titles and summary snippets. This specifies the verb, resource, and result. However, it does not differentiate from the sibling tool search_knowledge_base, so it lacks explicit sibling distinction.

    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 says it is the 'core interface' for knowledge base content retrieval, but provides no explicit guidance on when to use this tool versus alternatives like search_knowledge_base. There are no conditions, exclusions, or alternative recommendations, leaving the agent without clear selection criteria.

    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 the full burden. It discloses that the list is filtered by user permissions (当前用户有权限添加内容), which is useful behavioral context. However, it does not explicitly state that this is a read-only operation or mention potential edge cases like empty results or authentication requirements, beyond what the tool name implies.

    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 short sentences that deliver the purpose and usage condition without any filler. Every word contributes to the agent's understanding, making it highly efficient.

    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 simple list tool with 2 optional parameters and no output schema, the description covers the essential aspects: what it returns (knowledge base list) and the specific filter (user with add permission). It doesn't detail the return item structure or pagination beyond schema-provided cursor info, but that's acceptable given the tool's simplicity. Slightly more context about the returned list format could improve it, hence 4.

    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 100% coverage for both parameters (limit and cursor) with descriptions, so the baseline is 3. The description adds no additional parameter information, but it doesn't need to since the schema already documents the pagination semantics.

    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: '获取当前用户有权限添加内容的知识库列表' (get the list of knowledge bases the current user can add content to). It uses a specific verb (获取) and resource (知识库列表), and adds a usage scope ('仅在未指定目标知识库时使用') that distinguishes it from sibling tools like get_knowledge_base and search_knowledge_base.

    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 tells when to use the tool: '仅在未指定目标知识库时使用' (only when no target knowledge base is specified). This provides clear context and an implicit exclusion (when a target is specified), but it does not name alternative tools explicitly, which prevents a perfect score.

    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 discloses key behaviors: pagination, return of files and subfolders, and the folder_id prefix requirement. It implies a read-only 'browse' action. Missing details like error handling or authentication are not critical for a list operation.

    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, front-loaded with purpose, and no unnecessary words. Every clause adds value: root vs folder behavior, pagination, and prefix rule.

    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 no output schema and 4 parameters, the description explains the main return types (files/subfolders) and pagination, which covers the core function. Lacks mention of sorting or response structure, but these are not critical for a listing tool with schema-documented parameters.

    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 covers 100% of parameters with descriptions. The description adds a small semantic detail (omit folder_id for root) and restates the folder_ prefix already in the schema. This elevates slightly above baseline but does not substantially compensate beyond 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 browses knowledge base content lists at root or specified folders, returns files and subfolders, and mentions pagination. This distinguishes it from search sibling tools like search_knowledge_base and get-like tools such as get_knowledge_base.

    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 context on when to use (browsing root or specific folder) and includes a specific rule for omitting folder_id when operating at root. Lacks explicit comparison to alternatives or when-not-to-use statements, but the usage context is unambiguous.

    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 the full burden. It discloses that the tool reads note content as plain text and that it is a dedicated read interface, which implies no side effects. However, it does not disclose details about error handling, permissions, rate limits, or return structure beyond the plain-text nature, leaving some gaps.

    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 front-loaded. It consists of two sentences: the first states the core purpose, and the second explains how to obtain the required parameter. Every sentence contributes essential information without redundancy or 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?

    Given the low complexity (2 params, no output schema, no annotations), the description is relatively complete. It covers the main purpose, the input parameter semantics, and notes the output format (plain text). It could mention what happens if the note_id is invalid or the note does not exist, but for a simple retrieval tool, this is sufficient.

    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 100%, so baseline is 3. The description adds valuable semantic context by clarifying that note_id is the numeric ID from get_media_info or search results, which is not explicitly in the schema. It also reinforces the meaning of target_content_format by mentioning plain text. This goes beyond the schema 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 clearly states the tool's function: reading note content as plain text. It specifies the exact resource (IMA note) and differentiates itself by being a dedicated interface for reading original note content, distinguishing it from search or knowledge base tools.

    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 clear context: use this tool when you need the actual note text, and it explains where to obtain the required note_id (from get_media_info or search APIs). It does not explicitly mention when not to use it or name alternative tools, but the context is sufficient for an agent to understand the appropriate usage.

    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 burden; it reveals the action (add) and the optional folder behavior. However, it does not disclose potential side effects, duplicate handling, or failure behavior, leaving some uncertainty for a mutation tool.

    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 entire description is one concise Chinese sentence that front-loads the purpose ('将网页或微信文章 URL 添加到知识库') followed by the key exception ('添加到根目录时省略 folder_id'), with zero 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?

    For a tool with 3 parameters and no output schema, the description covers the core operation, the input limits, and the folder_id semantics. It would benefit from mentioning return behavior or error conditions, but it is sufficient for basic usage.

    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 schema already documents all 3 parameters with full descriptions (100% coverage), so the baseline is 3. The description adds value by clarifying when to omit folder_id, which is not explicit in the schema alone, earning a 4.

    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 web page or WeChat article URLs to the knowledge base' and specifies the 1-10 URL range, making the tool's purpose distinct from sibling read/search tools and the file upload tool.

    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 states when to use the tool (importing URLs) and provides a concrete conditional rule: omit folder_id when adding to the root directory. While it doesn't explicitly name alternatives, the purpose and constraints effectively guide 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 behavioral burden. It discloses that the operation returns visible knowledge bases under the current account, including self-created and subscribed ones, which is helpful context about access scope. It also implies read-only behavior via 'search/list'. It doesn't detail pagination or response format, but the schema covers parameters and the operation is inherently non-destructive.

    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-loads the core purpose ('搜索知识库列表'), then gives the key behavior and use case. Every sentence is informative with no wasted words, making it an exemplar of concision.

    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 tool is simple (3 params, no output schema), and the description explains what it does and when to use it. It states it returns a list and implies the inclusion of IDs from the use-case sentence. While it doesn't explicitly enumerate return fields, the information is sufficient given the straightforward nature of the tool. A 4 reflects slight room for mentioning the response structure directly.

    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 coverage is 100%, so the schema already documents all three parameters (query, limit, cursor). The description adds the use-case context for the query parameter (knowing name but not ID) and the empty-query behavior, which marginally enriches meaning. However, it doesn't add syntax or formatting details beyond the schema, so the baseline 3 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 '搜索' (search) with resource '知识库列表' (knowledge base list), clearly stating it's a search/list operation. It distinguishes itself from siblings like get_knowledge_base by explicitly noting it is for when the name is known but not the ID, and clarifies it returns all visible knowledge bases with empty query.

    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 a clear when-to-use: '知道知识库名称但不知道 ID 时用此接口' (use when you know the name but not the ID). It also explains the empty-query behavior for listing all visible knowledge bases. However, it does not explicitly name alternatives or state when not to use it, making the guidance useful but not fully exhaustive.

    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 full disclosure burden. It transparently explains the distinct behaviors for different media types: returns URL for WeChat/articles/web/files, and auto-pulls plain text note_content for note_ prefixed IDs. It lacks error-case or permission details, but provides essential behavioral expectations.

    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?

    Description is concise, front-loaded with purpose, then provides source and type-dependent behavior in logical order. Every sentence earns its place with no 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?

    For a single-parameter tool with no output schema and no annotations, the description is complete: it covers what it does, where the input comes from, and what output to expect for all mentioned cases. It fully enables an agent to select and invoke the tool 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?

    Schema only says media_id is a media entry ID. Description adds meaningful context: the ID comes from specific source tools and that note_ prefix triggers different behavior. This enriches parameter understanding beyond the schema, justifying a higher score despite high schema 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?

    Description clearly states the tool gets original content or download link for a knowledge base entry, using a specific verb and resource. It distinguishes from sibling tools by detailing type-dependent behavior (URL for articles/web pages/files, note_content for notes), making its unique function explicit.

    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?

    Explicitly instructs to pass media_id from the return of get_knowledge_list or search_knowledge, providing clear context on when to use this tool. However, it does not explicitly state when not to use it or mention alternatives like get_note_content, though the description implicitly covers note handling within this tool.

    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, the description carries full responsibility for disclosure. It reveals the complete internal workflow (precheck, duplicate handling with timestamp, COS credential acquisition, upload, and storage) and the special behavior of verify=true (only uploads to COS, does not store). This is a high level of transparency about side effects and edge cases.

    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 front-loaded: the first sentence states the core purpose, the second explains the internal flow, the third handles the video exception, and the fourth clarifies the verify parameter. No redundant or filler text; each sentence contributes unique, useful 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 tool with no output schema and no annotations, the description provides robust context: supported formats, internal steps, unsupported cases, and parameter behavior. It lacks explicit return-value details, but for an upload operation this is minor and the description is otherwise comprehensive for selection and invocation.

    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 schema already provides descriptions for all 4 parameters (100% coverage), so the baseline is 3. The description adds value by explaining how parameters fit into the pipeline (e.g., verify=true skips the final add_knowledge step) and by noting that folder_id defaults to root via behavior rather than just schema. This extra context raises it above the baseline.

    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 a clear action: '将本地文件上传到指定知识库' (upload local files to specified knowledge base), listing supported formats. It distinguishes from siblings by explicitly stating that video files are not supported and directing to 'import_urls' instead, making the tool's scope specific and unambiguous.

    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?

    The description explicitly provides an alternative for unsupported video files ('请改用 import_urls 以 URL 方式添加') and explains the purpose of verify=true ('用于验证凭证与网络'). This gives clear guidance on when to use this tool versus alternatives and when to use a specific parameter.

    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

ima-mcp-server MCP server

Copy to your README.md:

Score Badge

ima-mcp-server 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/rowanlin-dev/ima-mcp-server'

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