ModelScope MCP Server
OfficialProvides tools to invoke Gradio APIs exposed by pre-configured ModelScope studios (currently in development).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ModelScope MCP Servergenerate an image of a cat wearing a hat"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ModelScope MCP Server
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
Visit ModelScope and sign in to your account
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.jsonCursor: Uses
~/.cursor/mcp.jsonVS Code: Uses workspace
.vscode/mcp.jsonOther clients: Many MCP-compatible applications follow this standard
π οΈ Development
Environment Setup
Clone and Setup:
git clone https://github.com/modelscope/modelscope-mcp-server.git cd modelscope-mcp-server uv syncActivate Environment (or use your IDE):
source .venv/bin/activate # Linux/macOSSet 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.pyUse the --full flag for comprehensive feature demonstration:
uv run python demo.py --fullRunning 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 8080For 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/listTesting
# 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 pytestMonitor CI status in the Actions tab.
π¦ Release Management
This project uses GitHub Actions for automated release management. To create a new release:
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.dev1Commit 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}Automated publishing - GitHub Actions will automatically:
Create a new GitHub Release
Publish package to PyPI repository
Build and push Docker image to GitHub Container Registry
π€ 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
Model Context Protocol - Official MCP documentation
FastMCP v2 - High-performance MCP framework
MCP Example Servers - Community server examples
π License
This project is licensed under the Apache License (Version 2.0).
Available Tools
9 toolsgenerate_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.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | The 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. | |
| prompt | Yes | The prompt of the image to be generated, containing the desired elements and visual features. | |
| image_url | No | The URL of the source image for image-to-image generation.If not provided, performs text-to-image generation. |
Output Schema
| Name | Required | Description |
|---|---|---|
| type | Yes | Type of image generation |
| model | Yes | Model used for image generation |
| image_url | Yes | URL of the generated image |
TDQS
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.
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.
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.
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.
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.
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 UserARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| No | ||
| reason | No | Reason for failed authentication |
| username | No | Username |
| avatar_url | No | Avatar URL |
| description | No | Description |
| authenticated | Yes | Whether the user is authenticated |
| modelscope_url | No | Profile page URL on ModelScope |
TDQS
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.
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.
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.
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.
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.
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 InfoARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| main_domain | Yes | ModelScope website domain |
| python_version | Yes | Python runtime version |
| server_version | Yes | ModelScope MCP Server version |
| fastmcp_version | Yes | FastMCP framework version |
| api_inference_domain | Yes | ModelScope API inference domain |
| mcp_protocol_version | Yes | MCP protocol version |
| default_text_to_image_model | Yes | Default text-to-image model |
| default_image_to_image_model | Yes | Default image-to-image model |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| server_id | Yes | MCP Server's unique ID, for example '@modelscope/modelscope-mcp-server' |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | MCP Server ID |
| name | Yes | MCP Server name |
| tags | No | Tags |
| author | Yes | Author |
| readme | Yes | README content |
| logo_url | No | Logo image URL |
| is_hosted | Yes | Whether the server supports hosted mode |
| env_schema | Yes | JSON schema for environment variables |
| source_url | Yes | Source code URL |
| view_count | No | View count |
| description | Yes | Description |
| is_verified | Yes | Whether the server's hosted mode is verified |
| github_stars | No | GitHub stars count |
| server_config | No | Server configuration |
| modelscope_url | Yes | Detail page URL on ModelScope |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order | default |
| limit | No | Maximum number of datasets to return | |
| query | No | Keyword to search for related datasets. Leave empty to get all datasets based on other filters. |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of servers to return | |
| search | No | Search keyword for MCP servers | |
| category | No | Filter by category | |
| is_hosted | No | Filter by hosted status |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order | Default |
| task | No | Task category to filter by | |
| limit | No | Maximum number of models to return | |
| query | No | Keyword to search for related models. Leave empty to get all models based on other filters. | |
| filters | No | Additional filter options for models |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order | default |
| limit | No | Maximum number of papers to return | |
| query | Yes | Search query for papers |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Sort order | Default |
| limit | No | Maximum number of studios to return | |
| query | No | Keyword to search for related studios. Leave empty to get all studios based on other filters. | |
| domains | No | Domain categories to filter by |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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.
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.
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.
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.
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.
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
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.
All tools follow a consistent verb_noun pattern with lowercase snake_case: get_*, search_*, and generate_image. No mixed conventions or vague verbs.
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.
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
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
Create and manage AI agents that collaborate and solve problems through natural language interactiβ¦
AI service marketplace β agents discover, call, and pay for API services automatically.
AI agent registry β search, discover, register, and connect agents via MCP.
Discover and call AI agents on the open MeshKore network β 100,000+ indexed agent projects.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables text-only models to process images and other media formats by providing access to multimodal models from OpenAI and Dashscope (Alibaba Cloud). Supports flexible deployment options and comprehensive tooling for multimodal AI interactions.34MIT
- FlicenseCqualityDmaintenanceEnables AI assistants to manage Alibaba Cloud resources via natural language, with explicit tools for common services and a universal API invoker for full cloud coverage.92

Meshy MCP Serverofficial
AlicenseNot gradedqualityBmaintenanceEnables AI agents to create, manage, and download 3D models, textures, images, rigged characters, and animations through natural conversation.5,09038MIT- AlicenseNot gradedqualityAmaintenanceEnables AI agents to interact with the Coherence Network platform, allowing them to browse ideas, record contributions, and access governance features via natural language.3Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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