Skip to main content
Glama

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.

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 build

Configure 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.js

VS 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

query

string

No

Search keyword (Chinese or English)

category

string

No

Category ID (e.g., 01)

subcategory

string

No

Subcategory ID (e.g., morphology-arrangement)

series

string

No

Series ID (classic/atlas/primitives/icons/lab-flow)

form

string

No

Form ID (illustration/diagram/icon)

limit

number

No

Max results (default: 20)

Example:

Query: "coccus"
Filter: category=01, series=classic

3. sciglyph_get_asset โ€” Get Asset Details

Get detailed information about a specific asset by its ID.

Parameters:

Parameter

Type

Required

Description

assetId

string

Yes

Asset ID (filename without .svg), e.g., 001-coccus

4. sciglyph_list_by_category โ€” List by Category

List all assets under a specific category or subcategory.

Parameters:

Parameter

Type

Required

Description

category

string

Yes

Category ID or name (e.g., 01 or cells-microbes)

subcategory

string

No

Subcategory ID

limit

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

categoryId

string

Yes

Category ID (e.g., 01)

subcategoryId

string

Yes

Subcategory ID (e.g., morphology-arrangement)

filename

string

Yes

Filename without .svg extension

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

assetId

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}.svg

Example:

https://zengzichao.github.io/SciGlyph/assets/01-cells-microbes/morphology-arrangement/001-coccus.svg

Usage Examples

Embed in Markdown

![Coccus](https://zengzichao.github.io/SciGlyph/assets/01-cells-microbes/morphology-arrangement/001-coccus.svg)

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
โ””โ”€โ”€ .gitignore

Development 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 clean

Tech 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

Available Tools

7 tools
sciglyph_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 ็ด ๆๅบ“็š„ๆ‰€ๆœ‰ๅคง็ฑปใ€ๅญๅˆ†็ฑปใ€็ณปๅˆ—ๅ’Œๅฝขๆ€ใ€‚่ฟ”ๅ›žๅฎŒๆ•ด็š„ๅˆ†็ฑปไฝ“็ณป็ป“ๆž„๏ผˆๅซไธญ่‹ฑๅŒ่ฏญๅ็งฐ๏ผ‰ใ€‚ๅปบ่ฎฎๅœจๆœ็ดข็‰นๅฎš็ด ๆๅ‰ๅ…ˆไฝฟ็”จๆญคๅทฅๅ…ทไบ†่งฃ็ด ๆๅบ“็š„็ป„็ป‡็ป“ๆž„ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 ็›ด้“พใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdYesAsset ID (filename without .svg extension), e.g. '001-coccus' or 'cs-016-cell-wall'. ็ด ๆ ID๏ผˆๆ–‡ไปถๅๅŽปๆމ .svg ๅŽ็ผ€๏ผ‰๏ผŒๅฆ‚ '001-coccus' ๆˆ– 'cs-016-cell-wall'ใ€‚

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It 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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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ใ€‚ๅฝ“ๅทฒ็Ÿฅ็กฎๅˆ‡็š„ๅคง็ฑปใ€ๅญๅˆ†็ฑปๅ’Œๆ–‡ไปถๅไฝ†็ด ๆไธๅœจๅทฒ็ดขๅผ•ๅ…ƒๆ•ฐๆฎไธญๆ—ถไฝฟ็”จใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesAsset filename without the .svg extension, e.g. '001-coccus'. ็ด ๆๆ–‡ไปถๅ๏ผˆไธๅซ .svg ๅŽ็ผ€๏ผ‰๏ผŒๅฆ‚ '001-coccus'ใ€‚
categoryIdYesCategory ID, e.g. '01'. ๅคง็ฑป็ผ–ๅท๏ผŒๅฆ‚ '01'ใ€‚
subcategoryIdYesSubcategory ID, e.g. 'morphology-arrangement'. ๅญๅˆ†็ฑป ID๏ผŒๅฆ‚ 'morphology-arrangement'ใ€‚

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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 ็ด ๆใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
assetIdNoOptional asset ID to generate specific examples for. If omitted, uses a sample asset. ๅฏ้€‰็š„็ด ๆ ID๏ผŒ็”จไบŽ็”Ÿๆˆ็‰นๅฎš็ด ๆ็š„ไฝฟ็”จ็คบไพ‹ใ€‚ๅฆ‚็œ็•ฅๅˆ™ไฝฟ็”จ็คบไพ‹็ด ๆใ€‚

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses 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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 ็ด ๆๅบ“็š„ๆฆ‚่ฆไฟกๆฏ๏ผŒๅŒ…ๆ‹ฌ็‰ˆๆœฌใ€่ฎธๅฏใ€็ด ๆๆ€ปๆ•ฐใ€ไฝœ่€…ๅ’Œ็ฝ‘ๅ€ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses 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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

ๅˆ—ๅ‡บๆŒ‡ๅฎšๅคง็ฑปๆˆ–ๅญๅˆ†็ฑปไธ‹็š„ๆ‰€ๆœ‰็ด ๆใ€‚็”จไบŽๆต่งˆๅทฒ็Ÿฅๅˆ†็ฑปไธ‹็š„็ด ๆๅˆ—่กจใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of results (default: 50). ่ฟ”ๅ›ž็ป“ๆžœ็š„ๆœ€ๅคงๆ•ฐ้‡๏ผˆ้ป˜่ฎค: 50๏ผ‰ใ€‚
categoryYesCategory ID (e.g. '01') or category name (e.g. 'cells-microbes'). ๅคง็ฑป็ผ–ๅท๏ผˆๅฆ‚ '01'๏ผ‰ๆˆ–ๅ็งฐ๏ผˆๅฆ‚ 'cells-microbes'๏ผ‰ใ€‚
subcategoryNoSubcategory ID (e.g. 'morphology-arrangement'). If omitted, lists all assets in the category. ๅญๅˆ†็ฑป ID๏ผˆๅฆ‚ 'morphology-arrangement'๏ผ‰ใ€‚ๅฆ‚็œ็•ฅๅˆ™ๅˆ—ๅ‡บ่ฏฅๅคง็ฑปไธ‹็š„ๆ‰€ๆœ‰็ด ๆใ€‚

TDQS

B3.3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 ็›ด้“พ๏ผ‰ใ€‚

ParametersJSON Schema
NameRequiredDescriptionDefault
formNoForm ID to filter by: 'illustration', 'diagram', 'icon'. ๆŒ‰ๅฝขๆ€็ญ›้€‰๏ผš'illustration'(ๆ’็”ป), 'diagram'(็คบๆ„ๅ›พ), 'icon'(ๅ›พๆ ‡)ใ€‚
limitNoMaximum number of results to return (default: 20). ่ฟ”ๅ›ž็ป“ๆžœ็š„ๆœ€ๅคงๆ•ฐ้‡๏ผˆ้ป˜่ฎค: 20๏ผ‰ใ€‚
queryNoSearch keyword (Chinese or English). If omitted, returns all assets matching the filters. ๆœ็ดขๅ…ณ้”ฎ่ฏ๏ผˆไธญๆ–‡ๆˆ–่‹ฑๆ–‡๏ผ‰ใ€‚ๅฆ‚็œ็•ฅๅˆ™่ฟ”ๅ›ž็ฌฆๅˆ็ญ›้€‰ๆกไปถ็š„ๅ…จ้ƒจ็ด ๆใ€‚
seriesNoSeries ID to filter by: 'classic', 'atlas', 'primitives', 'icons', 'lab-flow'. ๆŒ‰็ณปๅˆ—็ญ›้€‰๏ผš'classic'(็ปๅ…ธๆ’็”ป), 'atlas'(ๅ›พ่ฐฑ), 'primitives'(้€š็”จๅ›พๅ…ƒ), 'icons'(ๅ›พๆ ‡), 'lab-flow'(ๅฎž้ชŒๅฎคๆต็จ‹)ใ€‚
categoryNoCategory ID to filter by (e.g. '01' for Cells & Microbes). ๆŒ‰ๅคง็ฑป็ผ–ๅท็ญ›้€‰๏ผˆๅฆ‚ '01' ไธบ็ป†่ƒžไธŽๅพฎ็”Ÿ็‰ฉ๏ผ‰ใ€‚
subcategoryNoSubcategory ID to filter by (e.g. 'morphology-arrangement'). ๆŒ‰ๅญๅˆ†็ฑป ID ็ญ›้€‰๏ผˆๅฆ‚ 'morphology-arrangement'๏ผ‰ใ€‚

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It 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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 7 tool updatesv0.1.0
    • First observedsciglyph_browse_categories
    • First observedsciglyph_get_asset
    • First observedsciglyph_get_url
    • First observedsciglyph_get_usage_examples
    • First observedsciglyph_library_info
    • First observedsciglyph_list_by_category
    • First observedsciglyph_search_assets

TDQS

A3.7/5.0

Scored across 7 tools

Disambiguation4/5

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).

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables 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 npm
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    5
    1
    MIT