Search and browse classical Chinese poetry on haitang.app. Read-only and public.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Read a public author by numeric ID and a page of their works. A missing author returns author: null.
Positive numeric ID from a search or list result.
Page number, from 1 to 1000.
Read a public author by numeric ID and a page of their works. A missing author returns author: null.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Positive numeric ID from a search or list result. |
| page | integer | Page number, from 1 to 1000. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Positive numeric ID from a search or list result."
},
"page": {
"type": "integer",
"default": 1,
"maximum": 1000,
"minimum": 1,
"description": "Page number, from 1 to 1000."
}
},
"additionalProperties": false
}Read a public work by numeric ID, including poem text, introduction, annotations, translation, collections and quotes. A missing work returns work: null.
| Argument | Type | Description |
|---|---|---|
| id* | integer | Positive numeric ID from a search or list result. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Positive numeric ID from a search or list result."
}
},
"additionalProperties": false
}Browse public authors, optionally filtered by dynasty name (category). Returns public author URLs and page metadata.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, from 1 to 1000. |
| category | string | Dynasty name from list_dynasties, for example 唐. Not a group name. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 1000,
"minimum": 1,
"description": "Page number, from 1 to 1000."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Dynasty name from list_dynasties, for example 唐. Not a group name."
}
},
"additionalProperties": false
}List the public 词牌 taxonomy group with its name, slug and categories.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}List all public collections as name/slug pairs. Use the collection slug as the collection ID string when browsing works. Optional browse filters also return live facets for collections, dynasties and types; the static list stays complete.
| Argument | Type | Description |
|---|---|---|
| tag | string | Work kind slug from list_types: shi (诗), ci (词), qu (曲), wen (文). |
| category | string | Dynasty name from list_dynasties, for example 唐. Not a group name. |
| collection | string | Collection ID string from list_collections, for example "1". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tag": {
"enum": [
"shi",
"ci",
"qu",
"wen"
],
"type": "string",
"description": "Work kind slug from list_types: shi (诗), ci (词), qu (曲), wen (文)."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Dynasty name from list_dynasties, for example 唐. Not a group name."
},
"collection": {
"type": "string",
"pattern": "^[1-9]\\d{0,9}$",
"description": "Collection ID string from list_collections, for example \"1\"."
}
},
"additionalProperties": false
}List all public dynasties as name/slug pairs. Use the dynasty name as category when browsing works or authors. Optional browse filters also return live facets for collections, dynasties and types; the static list stays complete.
| Argument | Type | Description |
|---|---|---|
| tag | string | Work kind slug from list_types: shi (诗), ci (词), qu (曲), wen (文). |
| category | string | Dynasty name from list_dynasties, for example 唐. Not a group name. |
| collection | string | Collection ID string from list_collections, for example "1". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tag": {
"enum": [
"shi",
"ci",
"qu",
"wen"
],
"type": "string",
"description": "Work kind slug from list_types: shi (诗), ci (词), qu (曲), wen (文)."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Dynasty name from list_dynasties, for example 唐. Not a group name."
},
"collection": {
"type": "string",
"pattern": "^[1-9]\\d{0,9}$",
"description": "Collection ID string from list_collections, for example \"1\"."
}
},
"additionalProperties": false
}List the public 节日 taxonomy group with its name, slug and categories.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}List the public 地理 taxonomy group with its name, slug and categories.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}List the remaining public taxonomy groups: 选集, 写景, 时间, 花卉, 课本, 城市, 名山, 用典 and 书籍, with their categories.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}List the public 时令 taxonomy group with its name, slug and categories.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}List the public 节气 taxonomy group with its name, slug and categories.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}List public work sort labels and slugs. A null slug means omit sort for the site default order.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}List the public 主题 taxonomy group with its name, slug and categories.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"additionalProperties": false
}List all public work kinds as name/slug pairs. Use the kind slug as tag when browsing works. Optional browse filters also return live facets for collections, dynasties and types; the static list stays complete.
| Argument | Type | Description |
|---|---|---|
| tag | string | Work kind slug from list_types: shi (诗), ci (词), qu (曲), wen (文). |
| category | string | Dynasty name from list_dynasties, for example 唐. Not a group name. |
| collection | string | Collection ID string from list_collections, for example "1". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tag": {
"enum": [
"shi",
"ci",
"qu",
"wen"
],
"type": "string",
"description": "Work kind slug from list_types: shi (诗), ci (词), qu (曲), wen (文)."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Dynasty name from list_dynasties, for example 唐. Not a group name."
},
"collection": {
"type": "string",
"pattern": "^[1-9]\\d{0,9}$",
"description": "Collection ID string from list_collections, for example \"1\"."
}
},
"additionalProperties": false
}Browse public works with optional collection ID, dynasty name (category), kind slug (tag), sort and page. Returns public work URLs and page metadata.
| Argument | Type | Description |
|---|---|---|
| tag | string | Work kind slug from list_types: shi (诗), ci (词), qu (曲), wen (文). |
| page | integer | Page number, from 1 to 1000. |
| sort | string | Omit for the site default descending order; views_count_asc reverses it. Collections follow curated show order. |
| category | string | Dynasty name from list_dynasties, for example 唐. Not a group name. |
| collection | string | Collection ID string from list_collections, for example "1". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"tag": {
"enum": [
"shi",
"ci",
"qu",
"wen"
],
"type": "string",
"description": "Work kind slug from list_types: shi (诗), ci (词), qu (曲), wen (文)."
},
"page": {
"type": "integer",
"default": 1,
"maximum": 1000,
"minimum": 1,
"description": "Page number, from 1 to 1000."
},
"sort": {
"enum": [
"views_count_asc"
],
"type": "string",
"description": "Omit for the site default descending order; views_count_asc reverses it. Collections follow curated show order."
},
"category": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Dynasty name from list_dynasties, for example 唐. Not a group name."
},
"collection": {
"type": "string",
"pattern": "^[1-9]\\d{0,9}$",
"description": "Collection ID string from list_collections, for example \"1\"."
}
},
"additionalProperties": false
}Search public classical Chinese poetry by keyword across authors and works. Returns public URLs and short excerpts. Use get_work or get_author for details.
| Argument | Type | Description |
|---|---|---|
| query* | string | Keyword matching public authors and poetry, 1–60 characters. |
| workLimit | integer | |
| authorLimit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 60,
"minLength": 1,
"description": "Keyword matching public authors and poetry, 1–60 characters."
},
"workLimit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"authorLimit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
}
},
"additionalProperties": false
}