SciGlyph MCP Server
Click on "Deploy 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., "@SciGlyph MCP ServerFind a coccus bacteria SVG and give me the embed code"
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.
SciGlyph MCP Server
An MCP (Model Context Protocol) server for the SciGlyph Scientific Illustration Assets library
Version: 0.1.0 | ไธญๆๆๆกฃ
Overview
SciGlyph MCP is a Model Context Protocol (MCP) server that provides access to the SciGlyph Scientific Illustration Assets library. It enables AI assistants (such as Claude, Cursor, etc.) to browse, search, and retrieve scientific illustration assets (SVG format) from the SciGlyph library, making it easy to reference and embed scientific illustrations in research writing, educational materials, academic reports, and more.
About SciGlyph
SciGlyph is a scientific illustration asset library providing approximately 2,830 SVG-format scientific illustration assets covering microbiology, genetics, ecology, and other scientific disciplines. Assets are AI-assisted and human-reviewed, licensed under CC BY 4.0.
Version: v1.0.0
License: CC BY 4.0
Author: ZengZichao
Related MCP server: CleanVector MCP Server
Features
๐ Keyword Search: Search assets by Chinese or English keywords
๐ Category Browsing: Browse the complete taxonomy (12 categories, 40+ subcategories)
๐จ Multi-dimensional Filtering: Filter by category, subcategory, series, and form
๐ URL Construction: Automatically build direct SVG URLs for assets
๐ Usage Examples: Generate usage examples in Markdown, HTML, CSS, and other formats
๐ Bilingual Support: All tool descriptions and outputs include both Chinese and English
Quick Start
Prerequisites
Node.js >= 18.0.0
npm or other package manager
Installation
# Clone the project
git clone <repository-url>
cd SciGlyph-MCP
# Install dependencies
npm install
# Build TypeScript
npm run buildConfigure MCP Client
Cursor
Add the following to Cursor's MCP settings (~/.cursor/mcp.json):
{
"mcpServers": {
"sciglyph": {
"command": "node",
"args": ["/your/path/to/SciGlyph-MCP/dist/index.js"]
}
}
}Claude Desktop
Edit claude_desktop_config.json:
{
"mcpServers": {
"sciglyph": {
"command": "node",
"args": ["/your/path/to/SciGlyph-MCP/dist/index.js"]
}
}
}Claude Code
claude mcp add sciglyph node /your/path/to/SciGlyph-MCP/dist/index.jsVS Code (with MCP extension)
Add to settings.json:
{
"mcp.servers": {
"sciglyph": {
"command": "node",
"args": ["/your/path/to/SciGlyph-MCP/dist/index.js"]
}
}
}โ ๏ธ Replace
/your/path/to/with the actual absolute path to the project.
MCP Tools
This server provides the following 7 tools:
1. sciglyph_browse_categories โ Browse Categories
Lists all categories, subcategories, series, and forms in the SciGlyph library.
Parameters: None
Use case: Use this first to understand the library's organization before searching for specific assets.
Example output:
๐ฆ 01-cells-microbes
Chinese: ็ป่ไธๅพฎ็็ฉ
English: Cells & Microbes
Subcategories:
- morphology-arrangement: Morphology & Arrangement
- cell-structures: Cell Structures
- cell-envelope: Cell Envelope
...2. sciglyph_search_assets โ Search Assets
Search for assets in the SciGlyph library by keyword, with optional filtering.
Parameters:
Parameter | Type | Required | Description |
| string | No | Search keyword (Chinese or English) |
| string | No | Category ID (e.g., |
| string | No | Subcategory ID (e.g., |
| string | No | Series ID ( |
| string | No | Form ID ( |
| number | No | Max results (default: 20) |
Example:
Query: "coccus"
Filter: category=01, series=classic3. sciglyph_get_asset โ Get Asset Details
Get detailed information about a specific asset by its ID.
Parameters:
Parameter | Type | Required | Description |
| string | Yes | Asset ID (filename without |
4. sciglyph_list_by_category โ List by Category
List all assets under a specific category or subcategory.
Parameters:
Parameter | Type | Required | Description |
| string | Yes | Category ID or name (e.g., |
| string | No | Subcategory ID |
| number | No | Max results (default: 50) |
5. sciglyph_get_url โ Build Asset URL
Construct the direct SVG URL for an asset given its path components.
Parameters:
Parameter | Type | Required | Description |
| string | Yes | Category ID (e.g., |
| string | Yes | Subcategory ID (e.g., |
| string | Yes | Filename without |
Use case: When you know the exact path but the asset is not in the indexed metadata.
6. sciglyph_library_info โ Library Info
Get general information about the SciGlyph library.
Parameters: None
7. sciglyph_get_usage_examples โ Usage Examples
Get examples showing how to embed SciGlyph SVG assets in Markdown, HTML, CSS, and other contexts.
Parameters:
Parameter | Type | Required | Description |
| string | No | Specific asset ID; if omitted, uses a sample asset |
Taxonomy
Categories (12)
ID | Slug | Chinese | English | Icon |
01 | cells-microbes | ็ป่ไธๅพฎ็็ฉ | Cells & Microbes | ๐ฆ |
02 | genetics-omics | ้ไผ ไธ็ปๅญฆ | Genetics & Omics | ๐งฌ |
03 | metabolism-phenotype | ไปฃ่ฐขไธ่กจๅ | Metabolism & Phenotype | โ๏ธ |
04 | phylogeny-evolution | ็ณป็ปๅ่ฒไธ่ฟๅ | Phylogeny & Evolution | ๐ณ |
05 | ecology-application | ็ๆไธๅบ็จ | Ecology & Application | ๐ฑ |
06 | experimental-methods | ๅฎ้ชๆนๆณ | Experimental Methods | ๐ฌ |
07 | labware-consumables | ๅจ็ฟไธ่ๆ | Labware & Consumables | ๐งช |
08 | instruments-devices | ไปชๅจไธ่ฃ ็ฝฎ | Instruments & Devices | ๐ก |
09 | safety-signage | ๅฎๅ จไธๆ ่ฏ | Safety & Signage | โ ๏ธ |
10 | plate-components | ๅพ็ๆไปถ | Plate Components | ๐ผ๏ธ |
11 | charts-diagrams | ๅพ่กจไธๆต็จ | Charts & Diagrams | ๐ |
12 | icons-ui | ๅพๆ ไธ UI | Icons & UI | โจ |
Series (5)
ID | Chinese | English | Description |
classic | ็ปๅ ธๆ็ป | Classic Illustration | Classic-style scientific illustrations with emphasis on detail and artistic expression |
atlas | ๅพ่ฐฑ | Atlas | Atlas-style illustrations, standardized and normalized scientific drawings |
primitives | ้็จๅพๅ | Primitives | Primitive elements, minimalist geometric style, suitable for composing complex illustrations |
icons | 24ร24 ๅพๆ | 24ร24 Icons | 24ร24 pixel small icons, suitable for UI and document usage |
lab-flow | ๅฎ้ชๅฎคๆต็จ | Lab Flow | Laboratory flowchart elements for constructing experimental procedure diagrams |
Forms (3)
ID | Chinese | English | Description |
illustration | ๆ็ป | Illustration | Detailed scientific illustrations with rich visual information |
diagram | ็คบๆๅพ | Diagram | Simplified diagrams highlighting key structures and relationships |
icon | ๅพๆ | Icon | Compact icons suitable for small-size display |
Asset URL Format
SciGlyph asset URLs follow this format:
https://zengzichao.github.io/SciGlyph/assets/{categoryId}-{categoryName}/{subcategory}/{number}-{name}.svgExample:
https://zengzichao.github.io/SciGlyph/assets/01-cells-microbes/morphology-arrangement/001-coccus.svgUsage Examples
Embed in Markdown
Embed in HTML
<img src="https://zengzichao.github.io/SciGlyph/assets/01-cells-microbes/morphology-arrangement/001-coccus.svg"
alt="Coccus" width="200" />Use in CSS
.coccus {
background-image: url("https://zengzichao.github.io/SciGlyph/assets/01-cells-microbes/morphology-arrangement/001-coccus.svg");
background-size: contain;
background-repeat: no-repeat;
width: 200px;
height: 200px;
}Attribution
Under the CC BY 4.0 license, attribution is required when using assets:
Source: SciGlyph by ZengZichao URL: https://zengzichao.github.io/SciGlyph/ License: CC BY 4.0
Project Structure
SciGlyph-MCP/
โโโ src/
โ โโโ index.ts # MCP Server entry point
โ โโโ data/
โ โโโ catalog.ts # Taxonomy definitions (categories, series, forms)
โ โโโ sample-assets.ts # Asset metadata samples
โโโ dist/ # Build output (auto-generated)
โโโ package.json # Project configuration
โโโ tsconfig.json # TypeScript configuration
โโโ mcp-config.example.txt # Configuration guide for various clients
โโโ test-mcp.mjs # Integration test script
โโโ LICENSE # MIT License
โโโ README.md # English documentation (this file)
โโโ README.zh-CN.md # Chinese documentation
โโโ .gitignoreDevelopment Commands
# Build
npm run build
# Watch mode
npm run dev
# Start server
npm start
# Run tests
npm test
# Debug with MCP Inspector
npm run inspector
# Clean build output
npm run cleanTech Stack
TypeScript 5.7+ โ Type safety
@modelcontextprotocol/sdk โ Official MCP SDK
Zod โ Parameter validation
Node.js 18+ โ Runtime
FAQ
Q: The library has ~2,830 assets, but I can't find a specific asset in the metadata. What should I do?
A: The current version includes metadata for all assets visible on the SciGlyph homepage. For assets not in the indexed metadata, use the sciglyph_get_url tool to construct the SVG URL based on path components (category ID, subcategory ID, filename). We recommend visiting the SciGlyph website to find the exact path information.
Q: How is the scientific accuracy of the assets ensured?
A: SciGlyph assets are AI-assisted and human-reviewed, but please verify scientific accuracy before use. The MCP Server only provides asset search and URL construction functionality and does not take responsibility for the scientific accuracy of asset content.
Q: Can I host the asset files locally?
A: The current version only supports online URL references. All SVG files are hosted on GitHub Pages. To host locally, download the asset files from the SciGlyph repository.
Q: How do I debug with the MCP Inspector?
A: Run npm run inspector, then open the Inspector interface in your browser to interactively test the tools.
License
MIT License โ This MCP Server code is licensed under the MIT License.
The SciGlyph asset library itself is licensed under CC BY 4.0. Please follow the corresponding license when using assets.
Author
ZengZichao
SciGlyph Website: https://zengzichao.github.io/SciGlyph/
Available Tools
7 toolssciglyph_browse_categoriesBrowse Categories / ๆต่งๅ็ฑปไฝ็ณปA
List all categories, subcategories, series, and forms in the SciGlyph library. Returns the complete taxonomy structure with bilingual (Chinese/English) names. Use this tool first to understand the library's organization before searching for specific assets.
ๅๅบ SciGlyph ็ด ๆๅบ็ๆๆๅคง็ฑปใๅญๅ็ฑปใ็ณปๅๅๅฝขๆใ่ฟๅๅฎๆด็ๅ็ฑปไฝ็ณป็ปๆ๏ผๅซไธญ่ฑๅ่ฏญๅ็งฐ๏ผใๅปบ่ฎฎๅจๆ็ดข็นๅฎ็ด ๆๅๅ ไฝฟ็จๆญคๅทฅๅ ทไบ่งฃ็ด ๆๅบ็็ป็ป็ปๆใ
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return shape (complete taxonomy structure with bilingual Chinese/English names) and implicitly that this is a read-only enumeration. It omits any note on result size, pagination, or caching, which is the remaining behavioral gap.
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?
Purpose is front-loaded in the first sentence, usage follows in the last. The bilingual duplication roughly doubles the length, which is redundant for an English-only reader, but the pairing is presumably intentional and neither version contains filler.
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?
For a zero-parameter, no-output-schema list tool with no annotations, the description supplies what an agent needs: what comes back, in what languages, and when to call it. Only secondary details like response size or ordering are absent, which is acceptable here.
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 takes zero parameters, so there is no parameter semantics to document and the baseline is 4. The description correctly implies the call is unfiltered and takes no arguments.
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?
Specific verb 'List' plus the exact resources returned (categories, subcategories, series, forms) in the SciGlyph library, so the agent knows precisely what it gets. It partially differentiates from siblings by implying a survey-first role, but does not explicitly contrast with sciglyph_library_info or sciglyph_list_by_category, which sound closely related.
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?
Gives clear sequencing guidance: 'Use this tool first to understand the library's organization before searching for specific assets,' which ties it to the search workflow. It stops short of stating when NOT to use it or naming search_assets as the explicit alternative in the English text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sciglyph_get_assetGet Asset / ่ทๅ็ด ๆ่ฏฆๆ A
Get detailed information about a specific asset by its ID. Returns bilingual name, category, subcategory, series, form, file path, and direct SVG URL.
ๆ นๆฎ็ด ๆ ID ่ทๅๅไธช็ด ๆ็่ฏฆ็ปไฟกๆฏใ่ฟๅไธญ่ฑๆๅ็งฐใๅ็ฑปใๅญๅ็ฑปใ็ณปๅใๅฝขๆใๆไปถ่ทฏๅพๅ SVG ็ด้พใ
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | Yes | Asset ID (filename without .svg extension), e.g. '001-coccus' or 'cs-016-cell-wall'. ็ด ๆ ID๏ผๆไปถๅๅปๆ .svg ๅ็ผ๏ผ๏ผๅฆ '001-coccus' ๆ 'cs-016-cell-wall'ใ |
TDQS
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 usefully discloses the shape of the return (bilingual name, category, file path, SVG URL) in the absence of an output schema, but says nothing about behavior on a missing/invalid ID, auth needs, or whether it is a pure read.
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?
Front-loaded with the core action and kept to two mirrored sentences. The English/Chinese duplication doubles the token cost without adding new information, which is a mild waste but consistent with a bilingual tool.
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?
For a simple single-parameter lookup, the description covers purpose and return contents, and the schema covers the input. The remaining gap is error/not-found behavior, which matters little for a read-only detail fetch.
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% and the single assetId parameter is fully documented in the schema with format examples. The description adds nothing beyond that, so the baseline of 3 applies.
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?
States a specific verb and resource ('Get detailed information about a specific asset by its ID') and enumerates the returned fields. This clearly differentiates it from search/list siblings in practice, though it never names an alternative tool explicitly.
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 phrase 'by its ID' implies the precondition that the caller already has an assetId, which is usable context. However, there is no statement of when to choose this over sciglyph_search_assets or sciglyph_get_url, and no exclusions or downstream-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sciglyph_get_urlBuild Asset URL / ๆๅปบ็ด ๆ URLA
Construct the direct SVG URL for an asset given its path components. Useful when you know the exact category, subcategory, and filename but the asset is not in the indexed metadata.
ๆ นๆฎ่ทฏๅพ็ปๆ้จๅๆๅปบ็ด ๆ็็ดๆฅ SVG URLใๅฝๅทฒ็ฅ็กฎๅ็ๅคง็ฑปใๅญๅ็ฑปๅๆไปถๅไฝ็ด ๆไธๅจๅทฒ็ดขๅผๅ ๆฐๆฎไธญๆถไฝฟ็จใ
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Asset filename without the .svg extension, e.g. '001-coccus'. ็ด ๆๆไปถๅ๏ผไธๅซ .svg ๅ็ผ๏ผ๏ผๅฆ '001-coccus'ใ | |
| categoryId | Yes | Category ID, e.g. '01'. ๅคง็ฑป็ผๅท๏ผๅฆ '01'ใ | |
| subcategoryId | Yes | Subcategory ID, e.g. 'morphology-arrangement'. ๅญๅ็ฑป ID๏ผๅฆ 'morphology-arrangement'ใ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Construct' implies a pure, side-effect-free computation rather than a network fetch, which is useful, but it says nothing about the return shape (bare URL string vs object), whether any validation or error is returned for a nonexistent path, or any auth/rate-limit behavior.
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 front-loaded sentences, each doing real work โ first the action, then the use condition. The size is inflated only by the bilingual mirroring convention, not by redundancy in substance.
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?
For a simple three-parameter URL composition tool with no output schema and full schema coverage, the description covers what it does and when to reach for it. The one remaining gap is the exact return value/error behavior, which matters slightly for a constructor that can be given a bad path.
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 all three required params documented with formats and examples, so the baseline is 3. The description adds the mental model that these are 'path components' composed into a URL, but nothing beyond that mapping.
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?
States a specific verb and artifact โ 'Construct the direct SVG URL' โ and names the exact inputs (category, subcategory, filename). The clause 'but the asset is not in the indexed metadata' implicitly separates it from search_assets/get_asset, so an agent can route correctly without opening a schema.
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?
Gives a clear triggering condition: use it when you already know the exact category, subcategory, and filename and the asset is not indexed. It doesn't explicitly name the alternative tools to fall back on when the asset IS indexed, but the negative condition is stated plainly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sciglyph_get_usage_examplesUsage Examples / ไฝฟ็จ็คบไพA
Get usage examples showing how to embed SciGlyph SVG assets in Markdown, HTML, and other contexts.
่ทๅไฝฟ็จ็คบไพ๏ผๅฑ็คบๅฆไฝๅจ MarkdownใHTML ็ญๅบๆฏไธญๅตๅ ฅ SciGlyph SVG ็ด ๆใ
| Name | Required | Description | Default |
|---|---|---|---|
| assetId | No | Optional asset ID to generate specific examples for. If omitted, uses a sample asset. ๅฏ้็็ด ๆ ID๏ผ็จไบ็ๆ็นๅฎ็ด ๆ็ไฝฟ็จ็คบไพใๅฆ็็ฅๅไฝฟ็จ็คบไพ็ด ๆใ |
TDQS
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 the payload type (usage examples for embedding) and that examples are context-specific, but says nothing about the response format (code blocks vs prose), whether output is static, or any auth/rate considerations. Adequate but thin for an unannotated tool.
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 front-loaded sentences that state purpose and scope with no filler. The bilingual duplication is mildly redundant but appears to be a service convention rather than padding.
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?
For a simple, side-effect-free retrieval tool with one optional parameter and no output schema, the description conveys what is returned and the embedding contexts covered. Only the exact return shape (snippet format) is unspecified, a minor gap.
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 single optional assetId parameter is already fully documented in the schema, including the fallback-to-sample behavior. The description adds no additional meaning about the parameter, so the baseline 3 applies.
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 states a specific verb and resource ('Get usage examples showing how to embed SciGlyph SVG assets') and names the concrete contexts (Markdown, HTML). It is clearly distinct from sibling retrieval tools like get_asset or get_url, though it never names those siblings explicitly.
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?
Usage is implied: call this when you need embedding snippets. There is no explicit when-to-use vs alternatives guidance, no mention of how this differs from sciglyph_get_url or sciglyph_get_asset, and no prerequisites or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sciglyph_library_infoLibrary Info / ็ด ๆๅบไฟกๆฏA
Get general information about the SciGlyph library, including version, license, total assets, author, and URL.
่ทๅ SciGlyph ็ด ๆๅบ็ๆฆ่ฆไฟกๆฏ๏ผๅ ๆฌ็ๆฌใ่ฎธๅฏใ็ด ๆๆปๆฐใไฝ่ ๅ็ฝๅใ
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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 the shape of the response (version, license, count, author, URL), which implies a safe, non-mutating read, but it says nothing about auth requirements, caching, or whether the call is expensive. Reasonable but thin for a zero-annotation tool.
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?
A single, front-loaded sentence with no preamble; the bilingual Chinese rendering duplicates the same content but is presumably required for this library's i18n convention, so it is not wasted prose in context.
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?
With no output schema and no parameters, the description is the only source of return-value information, and it lists the five key fields, which is sufficient for an agent to decide whether to call it. Only the absence of usage routing keeps it from being fully complete.
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 takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The enumerated return fields actually add value the empty schema cannot express.
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?
States a specific verb and resource ('Get general information about the SciGlyph library') and enumerates the returned fields: version, license, total assets, author, URL. This is clearly distinguishable from the data-retrieval siblings, though the description never names or contrasts them explicitly.
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?
Usage is implied by the resource name โ call this for library-level metadata rather than asset-level data โ but there is no explicit when-to-use, when-not-to-use, or pointer to alternatives among the six sibling tools. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sciglyph_list_by_categoryList by Category / ๆๅ็ฑปๅๅบ็ด ๆB
List all assets under a specific category or subcategory. Use this to browse assets within a known category.
ๅๅบๆๅฎๅคง็ฑปๆๅญๅ็ฑปไธ็ๆๆ็ด ๆใ็จไบๆต่งๅทฒ็ฅๅ็ฑปไธ็็ด ๆๅ่กจใ
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default: 50). ่ฟๅ็ปๆ็ๆๅคงๆฐ้๏ผ้ป่ฎค: 50๏ผใ | |
| category | Yes | Category ID (e.g. '01') or category name (e.g. 'cells-microbes'). ๅคง็ฑป็ผๅท๏ผๅฆ '01'๏ผๆๅ็งฐ๏ผๅฆ 'cells-microbes'๏ผใ | |
| subcategory | No | Subcategory ID (e.g. 'morphology-arrangement'). If omitted, lists all assets in the category. ๅญๅ็ฑป ID๏ผๅฆ 'morphology-arrangement'๏ผใๅฆ็็ฅๅๅๅบ่ฏฅๅคง็ฑปไธ็ๆๆ็ด ๆใ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not state that this is a read-only/safe operation, nor does it describe pagination, ordering, or result shape for the limit-bounded listing. It only restates the listing scope.
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 short, front-loaded sentences (purpose then usage), mirrored bilingually with no filler. Efficient, though the bilingual duplication doubles the token footprint without adding new information.
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?
For a simple, annotation-free read/list tool with a fully documented 3-parameter schema and no output schema, the description covers purpose and basic usage adequately. The main residual gap is pagination/ordering behavior, which is minor for a browse operation.
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 category, subcategory, and limit are all fully documented in the schema, including the default and the 'omit subcategory' behavior. The description adds no parameter detail beyond what the schema already provides, so baseline 3 applies.
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 states a specific verb (list/browse) and resource (assets under a category or subcategory) with scope qualifiers. It is clearly distinguishable from get_asset or browse_categories, though the distinction from search_assets is only implied by 'known category' rather than stated.
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?
'Use this to browse assets within a known category' gives an implied when-to-use condition, but it never names the alternatives (search_assets for unknown categories, browse_categories for discovery) or states exclusions. Usage is inferable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sciglyph_search_assetsSearch Assets / ๆ็ดข็ด ๆA
Search for scientific illustration assets in the SciGlyph library by keyword (Chinese or English). Supports optional filtering by category, subcategory, series, and form. Returns matching assets with bilingual names, asset paths, and direct SVG URLs.
้่ฟๅ ณ้ฎ่ฏ๏ผไธญๆๆ่ฑๆ๏ผๆ็ดข SciGlyph ็ด ๆๅบไธญ็็งๅญฆๆๅพ็ด ๆใๆฏๆๆๅคง็ฑปใๅญๅ็ฑปใ็ณปๅใๅฝขๆ่ฟ่กๅฏ้็ญ้ใ่ฟๅๅน้ ็็ด ๆๅ่กจ๏ผๅซไธญ่ฑๆๅ็งฐใ่ทฏๅพๅ SVG ็ด้พ๏ผใ
| Name | Required | Description | Default |
|---|---|---|---|
| form | No | Form ID to filter by: 'illustration', 'diagram', 'icon'. ๆๅฝขๆ็ญ้๏ผ'illustration'(ๆ็ป), 'diagram'(็คบๆๅพ), 'icon'(ๅพๆ )ใ | |
| limit | No | Maximum number of results to return (default: 20). ่ฟๅ็ปๆ็ๆๅคงๆฐ้๏ผ้ป่ฎค: 20๏ผใ | |
| query | No | Search keyword (Chinese or English). If omitted, returns all assets matching the filters. ๆ็ดขๅ ณ้ฎ่ฏ๏ผไธญๆๆ่ฑๆ๏ผใๅฆ็็ฅๅ่ฟๅ็ฌฆๅ็ญ้ๆกไปถ็ๅ จ้จ็ด ๆใ | |
| series | No | Series ID to filter by: 'classic', 'atlas', 'primitives', 'icons', 'lab-flow'. ๆ็ณปๅ็ญ้๏ผ'classic'(็ปๅ ธๆ็ป), 'atlas'(ๅพ่ฐฑ), 'primitives'(้็จๅพๅ ), 'icons'(ๅพๆ ), 'lab-flow'(ๅฎ้ชๅฎคๆต็จ)ใ | |
| category | No | Category ID to filter by (e.g. '01' for Cells & Microbes). ๆๅคง็ฑป็ผๅท็ญ้๏ผๅฆ '01' ไธบ็ป่ไธๅพฎ็็ฉ๏ผใ | |
| subcategory | No | Subcategory ID to filter by (e.g. 'morphology-arrangement'). ๆๅญๅ็ฑป ID ็ญ้๏ผๅฆ 'morphology-arrangement'๏ผใ |
TDQS
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 does disclose the return content (bilingual names, asset paths, direct SVG URLs), which is a genuine behavioral detail, but it says nothing about result ordering, truncation, or how the default limit interacts with a broad query.
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 capability, filters, and return shape are front-loaded in the opening clause of each language block. The full bilingual duplication doubles the length, though that appears intentional for a Chinese/English audience and no sentence is wasted padding.
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?
With no output schema, the description appropriately explains what results contain (bilingual names, paths, SVG URLs), and all six optional filters are covered by the schema. Only the absence of guidance about broad-vs-narrow queries and result limits keeps it short of full completeness.
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%, and each parameter carries inline documentation including enumerated example values. The description only restates the filter axes (category, subcategory, series, form) without adding semantics beyond the schema, so the baseline of 3 applies.
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?
States a specific verb and resource ('Search for scientific illustration assets in the SciGlyph library by keyword') and names the supported filter axes. It does not explicitly distinguish itself from siblings like sciglyph_list_by_category or sciglyph_browse_categories, but the keyword-based framing is a reasonable implicit differentiator.
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?
It notes that filtering by category/subcategory/series/form is optional, and the schema adds that an omitted query returns everything matching the filters, which implies usage. However nothing states when to prefer this over sciglyph_list_by_category, sciglyph_browse_categories, or sciglyph_get_asset.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v0.1.0- First observed
sciglyph_browse_categories - First observed
sciglyph_get_asset - First observed
sciglyph_get_url - First observed
sciglyph_get_usage_examples - First observed
sciglyph_library_info - First observed
sciglyph_list_by_category - First observed
sciglyph_search_assets
TDQS
Scored across 7 tools
Each tool has a fairly distinct role: browse taxonomy, get one asset, search, list by category, build a URL, get usage examples, and fetch library metadata. The main potential confusion is between search_assets and list_by_category (both return asset lists), and between get_asset and get_url (both locate an asset), but descriptions clarify the difference (keyword vs. category browsing; ID lookup vs. path construction).
All tools share a consistent 'sciglyph_' prefix followed by a verb_noun pattern (browse_categories, get_asset, search_assets, list_by_category, get_url, get_usage_examples). The only deviation is library_info, which is noun-only, but it remains readable and clearly scoped.
Seven tools is well-scoped for a read-only scientific illustration library: taxonomy browsing, search, category listing, asset detail, URL construction, usage guidance, and library metadata. No redundant or filler tools.
The surface covers the core read-only browsing lifecycle: discover taxonomy, search/filter, list by category, retrieve asset details, build direct SVG URLs, and learn embedding usage. Minor gaps exist (no pagination or bulk/multi-asset retrieval, and no way to list the entire flat asset set), but these are workable for the stated purpose.
Maintenance
Related MCP Connectors
Multilingual semantic SVG icon search with previews for AI coding agents. 20,000+ icons.
SVG Lab MCP: the Design Engine for AI. App screens, icons, illustrations and charts as SVG.
Connect AI clients to biomedical data and tools.
Create and edit scientific figures, generate data charts, and export editable SVG and PowerPoint.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables interactive editing of scientific SVG figures in chat, allowing users to open, inspect, modify, undo/redo, and export SVGs through direct manipulation or natural language commands.3 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to generate professional SVG artwork, icons, and vector logos from text prompts, and to vectorize raster images into clean, editable SVG files.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI assistants to search a catalog of over 100 interactive 3D science models and display them live inside the conversation, complete with chapter navigation and adjustable laboratory settings. Clients that cannot render the interactive UI still receive a text summary and link to the model.-
- AlicenseAqualityCmaintenanceEnables AI clients to search a library of 2,800+ science illustrations, fetch SVG content and metadata, and download icons locally, with category/license filtering and attribution information.51MIT