Skip to main content
Glama
modelscope

ModelScope MCP Server

Official
by modelscope

ModelScope MCP Server

PyPI Version PyPI Downloads Docker GitHub Container Registry License

English | δΈ­ζ–‡

Empowers AI agents and chatbots with direct access to ModelScope's rich ecosystem of AI resources. From generating images to discovering cutting-edge models, datasets, apps and research papers, this MCP server makes ModelScope's vast collection of tools and services accessible through simple conversational interactions.

For a quick trial or a hosted option, visit the project page on the ModelScope MCP Plaza.

✨ Features

  • 🎨 AI Image Generation - Generate images from prompts (text-to-image) or transform existing images (image-to-image) using AIGC models

  • πŸ” Resource Discovery - Search and discover ModelScope resources including models, datasets, studios (AI apps), research papers, and MCP servers with advanced filtering options

  • πŸ“‹ Resource Details - Get comprehensive details for specific resources

  • πŸ“– Documentation Search (Coming Soon) - Semantic search for ModelScope documentation and articles

  • πŸš€ Gradio API Integration (Coming Soon) - Invoke Gradio APIs exposed by any pre-configured ModelScope studios

  • πŸ” Context Information - Access current operational context including authenticated user information and environment details

Related MCP server: Alibaba Cloud MCP Server

πŸš€ Quick Start

1. Get Your API Token

  1. Visit ModelScope and sign in to your account

  2. Navigate to [Home] β†’ [Access Tokens] to retrieve or create your API token

πŸ“– For detailed instructions, refer to the ModelScope Token Documentation

2. Integration with MCP Clients

Add the following JSON configuration to your MCP client's configuration file:

{
  "mcpServers": {
    "modelscope-mcp-server": {
      "command": "uvx",
      "args": ["modelscope-mcp-server"],
      "env": {
        "MODELSCOPE_API_TOKEN": "your-api-token"
      }
    }
  }
}

Or, you can use the pre-built Docker image:

{
  "mcpServers": {
    "modelscope-mcp-server": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "MODELSCOPE_API_TOKEN",
        "ghcr.io/modelscope/modelscope-mcp-server"
      ],
      "env": {
        "MODELSCOPE_API_TOKEN": "your-api-token"
      }
    }
  }
}

Refer to the MCP JSON Configuration Standard for more details.

This format is widely adopted across the MCP ecosystem:

  • Cherry Studio: See Cherry Studio MCP Configuration

  • Claude Desktop: Uses ~/.claude/claude_desktop_config.json

  • Cursor: Uses ~/.cursor/mcp.json

  • VS Code: Uses workspace .vscode/mcp.json

  • Other clients: Many MCP-compatible applications follow this standard

πŸ› οΈ Development

Environment Setup

  1. Clone and Setup:

    git clone https://github.com/modelscope/modelscope-mcp-server.git
    cd modelscope-mcp-server
    uv sync
  2. Activate Environment (or use your IDE):

    source .venv/bin/activate  # Linux/macOS
  3. Set Your API Token (see Quick Start section for token setup):

    export MODELSCOPE_API_TOKEN="your-api-token"
    # Or create .env file: echo 'MODELSCOPE_API_TOKEN="your-api-token"' > .env

Running the Demo Script

Run a quick demo to explore the server's capabilities:

uv run python demo.py

Use the --full flag for comprehensive feature demonstration:

uv run python demo.py --full

Running the Server Locally

# Standard stdio transport (default)
uv run modelscope-mcp-server

# Streamable HTTP transport for web integration
uv run modelscope-mcp-server --transport http

# HTTP/SSE transport with custom port (default: 8000)
uv run modelscope-mcp-server --transport [http/sse] --port 8080

For HTTP/SSE mode, connect using a local URL in your MCP client configuration:

{
  "mcpServers": {
    "modelscope-mcp-server": {
      "url": "http://127.0.0.1:8000/mcp/"
    }
  }
}

You can also debug the server using the MCP Inspector tool:

# Run in UI mode with stdio transport (can switch to HTTP/SSE in the Web UI as needed)
npx @modelcontextprotocol/inspector uv run modelscope-mcp-server

# Run in CLI mode with HTTP transport (can do operations across tools, resources, and prompts)
npx @modelcontextprotocol/inspector --cli http://127.0.0.1:8000/mcp/ --transport http --method tools/list

Testing

# Run all tests
uv run pytest

# Run specific test file
uv run pytest tests/test_search_papers.py

# With coverage report
uv run pytest --cov=src --cov-report=html

πŸ”„ Continuous Integration

This project uses GitHub Actions for automated CI/CD workflows that run on every push and pull request:

Automated Checks

  • ✨ Lint - Code formatting, linting, and style checks using pre-commit hooks

  • πŸ§ͺ Test - Comprehensive testing across all supported Python versions

  • πŸ” CodeQL - Security vulnerability scanning and code quality analysis

  • πŸ”’ Gitleaks - Detecting secrets like passwords, API keys, and tokens

Local Development Checks

Run the same checks locally before submitting PRs:

# Install and run pre-commit hooks
uv run pre-commit install
uv run pre-commit run --all-files

# Run tests
uv run pytest

Monitor CI status in the Actions tab.

πŸ“¦ Release Management

This project uses GitHub Actions for automated release management. To create a new release:

  1. Update version using the bump script:

    uv run python scripts/bump_version.py [patch|minor|major]
    # Or set specific version: uv run python scripts/bump_version.py set 1.2.3.dev1
  2. Commit and tag (follow the script's output instructions):

    git add src/modelscope_mcp_server/_version.py
    git commit -m "chore: bump version to v{version}"
    git tag v{version} && git push origin v{version}
  3. Automated publishing - GitHub Actions will automatically:

🀝 Contributing

We welcome contributions! Please ensure your PRs:

  • Include relevant tests and pass all CI checks

  • Update documentation for new features

  • Follow conventional commit format

πŸ“š References

πŸ“œ License

This project is licensed under the Apache License (Version 2.0).

Available Tools

9 tools
generate_imageGenerate ImageA

Generate an image based on the given text prompt and ModelScope AIGC model ID.

Supports both text-to-image and image-to-image generation.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoThe model's ID to be used for image generation. If not provided, the default model for the corresponding generation type (text-to-image or image-to-image) is used.
promptYesThe prompt of the image to be generated, containing the desired elements and visual features.
image_urlNoThe URL of the source image for image-to-image generation.If not provided, performs text-to-image generation.

Output Schema

ParametersJSON Schema
NameRequiredDescription
typeYesType of image generation
modelYesModel used for image generation
image_urlYesURL of the generated image

TDQS

A4/5.0
Behavior3/5

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

Annotations are minimal (only destructiveHint: false), leaving the description to carry transparency. The description adds the key detail of dual-mode generation but does not disclose potential side effects such as computational cost, latency, or whether the generated image is returned as a URL or file. It doesn't contradict annotations, but the provided behavioral context is modest.

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, front-loaded with the main action ('Generate an image'), and contains no filler words. Every phrase earns its place, and the structure is easy to parse quickly.

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 essential functionality (both generation modes) and the schema covers all parameter details. An output schema exists so return values need not be described. It does not mention any prerequisites or limitations, but for a relatively simple generation tool, the information provided is sufficient for an agent to select and invoke it correctly.

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 each parameter is already well-documented. The description adds no significant semantic detail beyond what the schema provides, only re-confirming the existence of text-to-image and image-to-image modes. Baseline 3 is appropriate given full 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?

The description clearly states the tool's function: generate an image based on a text prompt and model ID. It explicitly mentions both text-to-image and image-to-image modes, making the purpose specific and easily distinguishable from sibling tools (which are all search/info 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 for when to use the tool (generating images) and describes two usage modes (text-to-image and image-to-image) which implies the role of the image_url parameter. While it doesn't explicitly state 'use this instead of X', none of the sibling tools overlap in functionality, so the guidance is adequate.

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

get_current_userGet Current UserA
Read-only

Get current authenticated user information from ModelScope.

Use this when a request is about the user's own profile for ModelScope. Or when information is missing to build other tool calls.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
emailNoEmail
reasonNoReason for failed authentication
usernameNoUsername
avatar_urlNoAvatar URL
descriptionNoDescription
authenticatedYesWhether the user is authenticated
modelscope_urlNoProfile page URL on ModelScope

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. Description adds useful context about using this tool to fill missing information for other calls, but doesn't detail additional behavioral traits like auth requirements or data returned. Moderate value beyond annotations.

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 the core purpose followed by usage guidance. No wasted words.

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?

Tool is simple with no parameters, has an output schema, and annotations cover safety. Description provides sufficient context for an agent to select and invoke the tool correctly, including when it should be used.

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?

Tool has zero parameters, so the input schema is empty. Per rubric baseline is 4; description correctly avoids implying any parameters.

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 uses a specific verb+resource: 'Get current authenticated user information from ModelScope'. It clearly identifies the tool's purpose and distinguishes it from siblings like get_environment_info or search 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?

Provides explicit when-to-use guidance: 'when a request is about the user's own profile' and 'when information is missing to build other tool calls'. Lacks explicit when-not-to-use or named alternatives, but context is clear.

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

get_environment_infoGet Environment InfoA
Read-only

Get current MCP server environment information.

Returns version information for the server, FastMCP framework, MCP protocol, and Python runtime. Useful for debugging and compatibility checking.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
main_domainYesModelScope website domain
python_versionYesPython runtime version
server_versionYesModelScope MCP Server version
fastmcp_versionYesFastMCP framework version
api_inference_domainYesModelScope API inference domain
mcp_protocol_versionYesMCP protocol version
default_text_to_image_modelYesDefault text-to-image model
default_image_to_image_modelYesDefault image-to-image model

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare readOnlyHint=true, so safety is known. The description adds that it returns version information for specific components, which is useful behavioral detail beyond the annotation.

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, with the first stating the core purpose and the second elaborating on return values and use case. No superfluous text.

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?

This is a simple tool with no parameters, an output schema, and a readOnly annotation. The description covers purpose, return contents, and usage context; nothing more is needed.

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, and the baseline for 0 params is 4. The description does not need to add parameter information, and no gaps exist.

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 specific verb 'get' and resource 'MCP server environment information', and lists exact contents (server, FastMCP, protocol, Python runtime), making it clearly distinct from sibling search/get 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 states it is 'useful for debugging and compatibility checking', providing clear usage context. It does not mention when not to use or name alternatives, but the tool's unique purpose makes this less critical.

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

get_mcp_server_detailGet MCP Server DetailA

Get detailed information about a specific MCP server.

ParametersJSON Schema
NameRequiredDescriptionDefault
server_idYesMCP Server's unique ID, for example '@modelscope/modelscope-mcp-server'

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesMCP Server ID
nameYesMCP Server name
tagsNoTags
authorYesAuthor
readmeYesREADME content
logo_urlNoLogo image URL
is_hostedYesWhether the server supports hosted mode
env_schemaYesJSON schema for environment variables
source_urlYesSource code URL
view_countNoView count
descriptionYesDescription
is_verifiedYesWhether the server's hosted mode is verified
github_starsNoGitHub stars count
server_configNoServer configuration
modelscope_urlYesDetail page URL on ModelScope

TDQS

A4/5.0
Behavior3/5

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

Annotations are minimal (only title), so the description carries the burden. It indicates a read operation ('get') but does not disclose any behaviors like error handling, permissions, or exactly what 'detailed information' entails. No contradictions, but limited added value beyond the name.

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, well-structured sentence with no wasted words. It front-loads the verb and resource.

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 (one parameter, output schema present), the description is adequate. It could be improved by hinting at using the ID from search results, but the current level is sufficient for a simple detail-retrieval tool.

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 covers 100% of parameter documentation, including a description and example for server_id. The tool description adds no additional parameter semantics, 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 a specific verb ('Get') with a clear resource ('detailed information about a specific MCP server'). The word 'specific' distinguishes it from sibling search_mcp_servers, making its scope unambiguous.

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 clearly implies usage: when you know the server ID and need its details. It does not explicitly name alternatives or exclusions, but the 'specific' wording effectively communicates the use case, especially in contrast to the search sibling.

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

search_datasetsSearch DatasetsA

Search for datasets on ModelScope.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort orderdefault
limitNoMaximum number of datasets to return
queryNoKeyword to search for related datasets. Leave empty to get all datasets based on other filters.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

The description adds no behavioral context beyond the action itself. Annotations provide no readOnly or destructive hints, so the description carries the full burden and fails to disclose return behavior, pagination, or any side effects. Search is inherently read-only, but this is not stated.

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, front-loaded sentence that precisely conveys the tool's purpose. There is no fluff or redundancy, making it highly concise and well-structured.

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 simplicity, the well-documented schema, and the presence of an output schema, the one-line description is sufficient to understand the tool's function. However, it could benefit from a hint about the platform or typical use case, which prevents a perfect score.

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 already covers all parameters with descriptions (100% coverage), so the baseline is 3. The description does not add any parameter-specific information, but it doesn't need to given the schema's completeness.

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 'Search' and the resource 'datasets on ModelScope', distinguishing it from sibling search tools like search_models or search_studios. It is 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 Guidelines3/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 (when searching for datasets) but does not explicitly mention alternatives or exclusions. It lacks guidance on when to prefer other search tools, so usage context is only implied.

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

search_mcp_serversSearch MCP ServersA

Search for MCP servers on ModelScope.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of servers to return
searchNoSearch keyword for MCP servers
categoryNoFilter by category
is_hostedNoFilter by hosted status

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

Annotations contain only a title, no read-only or destructive hints, so the description carries the full burden. It simply restates the action without disclosing behavioral traits such as filtering behavior, result ordering, pagination, or any side effects. The output schema provides some structure but no behavioral context.

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, front-loaded sentence with no redundant information. Every word contributes to the statement of purpose.

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 presence of an output schema covers return values, but the description lacks usage context and behavioral detail. It is a minimal viable description for a simple search tool, but not rich enough to fully guide an agent in all contexts.

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%, with each parameter having a description. The tool description adds no additional meaning beyond the schema, which already documents 'limit', 'search', 'category', and 'is_hosted'. Therefore the baseline of 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 a specific verb ('Search') and resource ('MCP servers on ModelScope'), clearly distinguishing it from sibling search tools (search_models, search_datasets, etc.) and the detail tool (get_mcp_server_detail). It states exactly what the tool does.

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 as a search tool for MCP servers, but provides no explicit guidance on when to use it vs. alternatives, no exclusions, and no mention of related tools like get_mcp_server_detail for details. The context is clear but underdeveloped.

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

search_modelsSearch ModelsC

Search for models on ModelScope.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort orderDefault
taskNoTask category to filter by
limitNoMaximum number of models to return
queryNoKeyword to search for related models. Leave empty to get all models based on other filters.
filtersNoAdditional filter options for models

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations are minimal (only title), so the description carries the full burden. It discloses no behavioral traits beyond 'search'β€”nothing about result ordering, pagination, authentication, or filtering behavior. This is a significant gap for a tool with no annotation hints.

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

Conciseness3/5

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

The description is a single short sentence, making it concise and front-loaded. However, it is under-specified, lacking any context that would make the sentence more informative. It earns a middle score for brevity without sacrificing clarity, but fails to pack useful content.

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?

Despite a rich input schema and an output schema (per context signals), the description is too sparse to be complete. It does not mention how the search behaves (e.g., fuzzy matching, defaults, result limits), which would be valuable for an agent deciding whether to invoke it. The schema covers parameter semantics, but the description adds no contextual value.

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 the baseline is 3. The description adds no parameter-level details, but the schema itself documents all five parameters with clear descriptions. The description does not compensate or enhance beyond the schema, so a baseline score is appropriate.

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 for models on ModelScope, using a specific verb and resource. It distinguishes from sibling tools like search_datasets and search_papers by explicitly naming 'models', which is helpful for selection.

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 provided on when to use this tool versus alternatives, nor any context about prerequisites or exclusions. The description simply states the action without situational cues, leaving the agent to infer usage from the tool name alone.

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

search_papersSearch PapersB

Search for papers on ModelScope.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort orderdefault
limitNoMaximum number of papers to return
queryYesSearch query for papers

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

The description merely restates the tool's name with the platform context 'ModelScope' and does not disclose behavioral details. Since annotations only include the title and lack readOnlyHint or other cues, the description fails to elaborate on outcome, pagination, or result structure, though the presence of an output schema partially offsets this.

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

Conciseness3/5

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

The description is a single sentence and highly concise, but it offers minimal information beyond the title. It is not bloated, but it could be more informative; for a simple search tool, it is adequate but on the terse side.

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 straightforward, and with a complete input schema plus an output schema, the description is sufficient for basic usage. However, it does not clarify how searching papers differs from searching models/datasets or what types of papers are included, leaving some gaps in context.

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?

All three parameters (query, sort, limit) are fully described in the input schema, so the description does not need to add parameter-level meaning. The baseline of 3 applies because the schema fully documents the parameters and the description adds no extra semantics.

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

Purpose4/5

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

The description uses the verb 'Search' and identifies the resource as 'papers on ModelScope', which clearly differentiates it from sibling tools like search_models and search_datasets. However, it lacks specifics about scope or search behavior, so it is clear but not highly detailed.

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 provides no explicit guidance on when to use this tool versus alternatives. The resource type 'papers' implies a search for papers, but there is no mention of exclusions or references to sibling search tools, so usage guidance is only implied.

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

search_studiosSearch Studios (εˆ›η©Ίι—΄ AI 应用)B

Search for studios on ModelScope.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort orderDefault
limitNoMaximum number of studios to return
queryNoKeyword to search for related studios. Leave empty to get all studios based on other filters.
domainsNoDomain categories to filter by

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations beyond a title are provided, so the description carries full burden for behavioral disclosure. It only says 'Search' without explicitly confirming read-only behavior, return format, or potential side effects. This is a minimal indication of behavior, leaving the agent to assume safety.

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, front-loaded sentence of six words. It contains no fluff or redundant phrasing, making it highly concise and easy to parse.

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?

Despite having a well-documented schema and an output schema, the description is extremely thin. It does not explain what a 'studio' is in this context, when to use this tool, or any nuances about search behavior. For an agent unfamiliar with ModelScope studios, this falls short of providing sufficient operational context.

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%, with each parameter having a clear description (e.g., 'Keyword to search for related studios'). The tool description adds no parameter-specific detail, but the baseline of 3 is appropriate because the schema already documents all parameters effectively.

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 'Search for studios on ModelScope' clearly states the action (search) and resource (studios) with platform context (ModelScope). It distinguishes from sibling tools like search_models and search_datasets by specifying the resource type.

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 any exclusions, prerequisites, or scenarios where search_models or search_datasets would be more appropriate. Usage is only implied by the tool's name.

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

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct resource: user, environment, models, datasets, studios, papers, MCP servers, and image generation. There is no overlap between search actions, and get_mcp_server_detail is clearly a follow-up to search_mcp_servers.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with lowercase snake_case: get_*, search_*, and generate_image. No mixed conventions or vague verbs.

Tool Count5/5

With 9 tools, the server is well-scoped. The count covers user info, environment info, search across five content types, a detail fetch for MCP servers, and image generationβ€”each earning its place.

Completeness3/5

The search tools cover discovery for models, datasets, studios, and papers, but only MCP servers have a dedicated detail endpoint. This creates a notable gap: after searching for a model or dataset, there is no way to fetch full details, which could hinder workflows that require specific resource metadata.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/modelscope/modelscope-mcp-server'

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