Tangerine Index
Find products launched since ChatGPT by what they do, and see what people said about them.
我该使用它吗
质量与安全性
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"tangerine-index": {
"url": "https://tangerineindex.com/mcp"
}
}
}远程端点
https://tangerineindex.com/mcpstreamable-http它能做什么
工具清单
工具(3)
🟢search_products(need, forms, open_source, limit)
Find existing products launched since ChatGPT's release (Nov 30, 2022) that already do what you need — check here before building something new. Describe the job in short plain English, e.g. "extract tables from PDF to CSV" or "self-hosted dashboard for coding agents"; English works much better than other languages. Results are ranked by relevance (keyword + semantic). Each result has a one-line description, links, forms, an open-source flag, and community reactions labeled by source (e.g. HN 112 pts). Numbers are shown as each source reports them and are never combined; Tangerine Index does not rate products. Use get_product for the full description and every reaction.
输入模式
{
"type": "object",
"properties": {
"need": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "What the product should do, as a short plain-English description, e.g. \"extract tables from PDF to CSV\""
},
"forms": {
"description": "Only return products that have ALL of these forms",
"maxItems": 6,
"type": "array",
"items": {
"type": "string",
"enum": [
"CLI",
"Library",
"Desktop",
"Mobile",
"Browser Extension",
"Self-hosted"
]
}
},
"open_source": {
"description": "true: only open-source products (GitHub repositories); false: only the others",
"type": "boolean"
},
"limit": {
"description": "Maximum number of results (default 8)",
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"need"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"summary": {
"type": "string",
"description": "What it does, one line, in the original English"
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"page_url": {
"type": "string",
"description": "Tangerine Index page for this product"
},
"forms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"CLI",
"Library",
"Desktop",
"Mobile",
"Browser Extension",
"Self-hosted"
]
}
},
"open_source": {
"type": "boolean"
},
"github": {
"anyOf": [
{
"type": "object",
"properties": {
"repo": {
"type": "string"
},
"stars": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"archived": {
"type": "boolean"
}
},
"required": [
"repo",
"stars",
"archived"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"link_status": {
"anyOf": [
{
"type": "string",
"enum": [
"ok",
"dead"
]
},
{
"type": "null"
}
],
"description": "'dead' means the product link did not respond when last checked"
},
"link_checked_at": {
"type": [
"string",
"null"
]
},
"latest_reaction_at": {
"type": "string"
},
"reaction_count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"reactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source id, e.g. 'hn'"
},
"source_label": {
"type": "string",
"description": "Short source label, e.g. 'HN'"
},
"source_name": {
"type": "string",
"description": "e.g. 'Hacker News'"
},
"title": {
"type": "string"
},
"score": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Number reported by the source (HN: points). Never combined across sources."
},
"score_unit": {
"type": "string",
"description": "Unit of score in this source, e.g. 'pts'"
},
"comments": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"posted_at": {
"type": "string",
"description": "ISO 8601, UTC"
},
"url": {
"type": "string",
"description": "Original discussion URL"
}
},
"required": [
"source",
"source_label",
"source_name",
"title",
"score",
"score_unit",
"comments",
"posted_at",
"url"
],
"additionalProperties": false
}
},
"match": {
"type": "string",
"enum": [
"keyword",
"meaning"
],
"description": "'keyword': words of the need appear in the product text; 'meaning': related by meaning only"
}
},
"required": [
"id",
"name",
"summary",
"url",
"domain",
"page_url",
"forms",
"open_source",
"github",
"link_status",
"link_checked_at",
"latest_reaction_at",
"reaction_count",
"reactions",
"match"
],
"additionalProperties": false
}
},
"note": {
"description": "Present when results are limited, e.g. semantic search unavailable",
"type": "string"
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_product(id)
Get one product by id: full description, links, GitHub repository and stars, whether its link responded when last checked, and every reaction with its source, title, number, date, and original discussion URL.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{10}$",
"description": "Product id from search_products or similar_products"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"product": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"summary": {
"type": "string",
"description": "What it does, one line, in the original English"
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"page_url": {
"type": "string",
"description": "Tangerine Index page for this product"
},
"forms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"CLI",
"Library",
"Desktop",
"Mobile",
"Browser Extension",
"Self-hosted"
]
}
},
"open_source": {
"type": "boolean"
},
"github": {
"anyOf": [
{
"type": "object",
"properties": {
"repo": {
"type": "string"
},
"stars": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"archived": {
"type": "boolean"
}
},
"required": [
"repo",
"stars",
"archived"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"link_status": {
"anyOf": [
{
"type": "string",
"enum": [
"ok",
"dead"
]
},
{
"type": "null"
}
],
"description": "'dead' means the product link did not respond when last checked"
},
"link_checked_at": {
"type": [
"string",
"null"
]
},
"latest_reaction_at": {
"type": "string"
},
"reaction_count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"reactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source id, e.g. 'hn'"
},
"source_label": {
"type": "string",
"description": "Short source label, e.g. 'HN'"
},
"source_name": {
"type": "string",
"description": "e.g. 'Hacker News'"
},
"title": {
"type": "string"
},
"score": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Number reported by the source (HN: points). Never combined across sources."
},
"score_unit": {
"type": "string",
"description": "Unit of score in this source, e.g. 'pts'"
},
"comments": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"posted_at": {
"type": "string",
"description": "ISO 8601, UTC"
},
"url": {
"type": "string",
"description": "Original discussion URL"
}
},
"required": [
"source",
"source_label",
"source_name",
"title",
"score",
"score_unit",
"comments",
"posted_at",
"url"
],
"additionalProperties": false
}
},
"description": {
"type": "string",
"description": "Full description, original English"
},
"image_url": {
"type": [
"string",
"null"
]
},
"first_reaction_at": {
"type": "string"
}
},
"required": [
"id",
"name",
"summary",
"url",
"domain",
"page_url",
"forms",
"open_source",
"github",
"link_status",
"link_checked_at",
"latest_reaction_at",
"reaction_count",
"reactions",
"description",
"image_url",
"first_reaction_at"
],
"additionalProperties": false
}
},
"required": [
"product"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢similar_products(id)
List up to 5 products whose descriptions are closest to the given product's description. Similarity is by description embedding only — not quality, popularity, or recency.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{10}$",
"description": "Product id from search_products or similar_products"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}输出模式
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"basis": {
"type": "string",
"const": "description similarity"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"summary": {
"type": "string",
"description": "What it does, one line, in the original English"
},
"url": {
"type": "string"
},
"domain": {
"type": "string"
},
"page_url": {
"type": "string",
"description": "Tangerine Index page for this product"
},
"forms": {
"type": "array",
"items": {
"type": "string",
"enum": [
"CLI",
"Library",
"Desktop",
"Mobile",
"Browser Extension",
"Self-hosted"
]
}
},
"open_source": {
"type": "boolean"
},
"github": {
"anyOf": [
{
"type": "object",
"properties": {
"repo": {
"type": "string"
},
"stars": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"archived": {
"type": "boolean"
}
},
"required": [
"repo",
"stars",
"archived"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"link_status": {
"anyOf": [
{
"type": "string",
"enum": [
"ok",
"dead"
]
},
{
"type": "null"
}
],
"description": "'dead' means the product link did not respond when last checked"
},
"link_checked_at": {
"type": [
"string",
"null"
]
},
"latest_reaction_at": {
"type": "string"
},
"reaction_count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"reactions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Source id, e.g. 'hn'"
},
"source_label": {
"type": "string",
"description": "Short source label, e.g. 'HN'"
},
"source_name": {
"type": "string",
"description": "e.g. 'Hacker News'"
},
"title": {
"type": "string"
},
"score": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
],
"description": "Number reported by the source (HN: points). Never combined across sources."
},
"score_unit": {
"type": "string",
"description": "Unit of score in this source, e.g. 'pts'"
},
"comments": {
"anyOf": [
{
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"posted_at": {
"type": "string",
"description": "ISO 8601, UTC"
},
"url": {
"type": "string",
"description": "Original discussion URL"
}
},
"required": [
"source",
"source_label",
"source_name",
"title",
"score",
"score_unit",
"comments",
"posted_at",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"name",
"summary",
"url",
"domain",
"page_url",
"forms",
"open_source",
"github",
"link_status",
"link_checked_at",
"latest_reaction_at",
"reaction_count",
"reactions"
],
"additionalProperties": false
}
}
},
"required": [
"id",
"basis",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}社区
证据