Metaso MCP Server
Extracts and converts webpage content into Markdown format, optimized for use by language models.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Metaso MCP Serversearch for the latest breakthroughs in solid-state battery technology"
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.
Metaso MCP Server
基于Metaso AI搜索引擎的MCP (Model Context Protocol) Server,为大语言模型提供AI搜索、网页内容读取和AI问答功能。
功能特性
🔍 AI搜索: 支持网页、文档、学术、图片、视频、播客等多种搜索范围
📖 网页读取: 提取网页完整内容,支持Markdown和JSON格式输出
💬 AI问答: 基于搜索增强的智能问答,支持多种AI模型
🔒 安全验证: URL安全检查、API密钥验证、输入长度限制
🚀 高性能: 内置重试机制、连接池、错误处理
Related MCP server: ORZ MCP
安装
从源码构建
# 克隆项目
git clone https://github.com/csrts/metaso-mcp
cd metaso-mcp
# 安装依赖
npm install
# 构建项目
npm run build配置
环境变量
变量名 | 必需 | 默认值 | 说明 |
| ✅ | - | Metaso API密钥(格式:mk-[32位字符]) |
| ❌ |
| API基础URL |
| ❌ |
| 请求超时时间(毫秒) |
| ❌ |
| 启用调试日志 |
获取API密钥
访问 Metaso官网
注册账户并获取API密钥
设置环境变量:
export METASO_API_KEY="mk-YOUR_API_KEY_HERE"
MCP客户端配置
详情请看->MCP-CONFIG
Claude Desktop
在Claude Desktop的配置文件中添加:
{
"mcpServers": {
"metaso": {
"command": "node",
"args": ["/path/to/metaso-mcp-server/dist/index.js"],
"env": {
"METASO_API_KEY": "mk-YOUR_API_KEY_HERE"
}
}
}
}开发模式
{
"mcpServers": {
"metaso": {
"command": "npx",
"args": ["-y", "tsx", "/path/to/metaso-mcp-server/src/index.ts"],
"env": {
"METASO_API_KEY": "mk-YOUR_API_KEY_HERE",
"METASO_DEBUG": "true"
}
}
}
}可用工具
1. metaso_search - AI搜索
搜索互联网内容,支持多种搜索范围。
参数:
query(必需): 搜索查询内容scope(可选): 搜索范围,支持webpage、document、scholar、image、video、podcastpage(可选): 页数(与size互斥)size(可选): 结果数量(与page互斥)include_summary(可选): 是否包含AI摘要(默认true)include_row_content(可选): 是否包含原文内容(默认false)
示例:
{
"query": "人工智能最新发展",
"scope": "scholar",
"size": 10,
"include_summary": true
}2. metaso_reader - 网页读取
读取指定网页的完整内容。
参数:
url(必需): 要读取的网页URLformat(可选): 返回格式,支持markdown、json(默认markdown)
示例:
{
"url": "https://example.com/article",
"format": "markdown"
}3. metaso_chat - AI问答
与Metaso AI助手对话,获得基于搜索增强的智能回答。
参数:
query(必需): 问题或提示内容model(可选): AI模型,支持fast、fast_thinking、ds-r1(默认fast)scope(可选): 搜索范围,支持document、scholar、video、podcastformat(可选): 响应格式,支持chat_completions、simple(默认chat_completions)stream(可选): 启用流式输出(默认false)
示例:
{
"query": "解释量子计算的基本原理",
"model": "ds-r1",
"scope": "scholar"
}开发
项目结构
metaso-mcp/
├── src/
│ ├── index.ts # 主入口文件
│ ├── server.ts # MCP服务器实现
│ ├── tools/ # 工具实现
│ │ ├── search.ts # 搜索工具
│ │ ├── reader.ts # 读取工具
│ │ └── chat.ts # 问答工具
│ ├── types/ # 类型定义
│ │ └── requests.ts # 请求和响应类型
│ └── utils/ # 工具函数
│ ├── config.ts # 配置管理
│ └── http-client.ts # HTTP客户端
├── tests/ # 测试文件
└── dist/ # 编译输出开发命令
# 开发模式运行
npm run dev
# 构建项目
npm run build运行测试
# 运行所有测试
npm test
# 运行特定测试
npm test -- search.test.ts
# 监视模式
npm run test:watch故障排除
常见错误
配置验证失败
Configuration validation failed: apiKey: Required解决方案: 确保设置了
METASO_API_KEY环境变量API密钥格式错误
Invalid API key format. Expected format: mk-[32 alphanumeric characters]解决方案: 检查API密钥格式是否正确
网络连接错误
Network error: Unable to connect to Metaso API解决方案: 检查网络连接和API基础URL设置
调试模式
启用调试日志以获取更多信息:
export METASO_DEBUG=true安全性
🔐 API密钥通过环境变量安全管理
🚫 阻止访问私有IP和localhost
📏 查询内容长度限制
🔍 URL安全性验证
🚨 敏感信息日志屏蔽
许可证
MIT License
贡献
欢迎提交Issue和Pull Request!
更新日志
v1.0.0
初始版本发布
支持AI搜索、网页读取、AI问答功能
完整的MCP协议兼容性
安全性和错误处理
Available Tools
3 toolsmetaso_chatC
Chat with Metaso AI assistant. Get intelligent responses based on search-enhanced AI models. Supports multiple models and output formats.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Question or prompt for the AI assistant | |
| model | No | AI model to use for the response | fast |
| scope | No | Search scope for enhanced responses (webpage is default) | |
| format | No | Response format | chat_completions |
| stream | No | Enable streaming output (for compatible formats) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states that the tool returns responses but does not mention any side effects, authorization needs, rate limits, or whether the chat is stateless. The description is insufficient for the agent to assess potential impacts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise, consisting of two short sentences that front-load the core purpose ('Chat with Metaso AI assistant') and then add relevant detail. Every sentence earns its place with no superfluous content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters (including stream and scope) and no output schema, the description is too minimal. It does not explain the response format, behavior of streaming, or how the scope parameter affects results. The agent would need to infer these from the schema alone, which is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds 'search-enhanced AI models' and mentions multiple models/output formats, which slightly supplements the schema but does not provide significant new meaning beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a chat interface with a Metaso AI assistant, using verbs like 'Chat' and 'Get'. However, it does not explicitly differentiate from sibling tools such as metaso_reader and metaso_search, which could cause confusion about the specific use case.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like metaso_search or metaso_reader. The description lacks any mention of appropriate contexts or exclusions, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
metaso_readerA
Read and extract content from web pages using Metaso API. Returns the full text content of the specified webpage in markdown or JSON format.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL of the webpage to read | |
| format | No | Format of the returned content | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It mentions reading and extracting content, but omits details such as how JavaScript-rendered pages are handled, whether there are rate limits, or if the API performs any redirects. The description is basic but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, containing only two sentences that directly state the purpose and output format. No unnecessary words or repetition, and the key aspects are front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool lacks an output schema, so the description should compensate by explaining return value structure (e.g., whether JSON includes metadata). It does not mention error handling, content length limits, or dynamic content behavior. This leaves uncertainty for an agent using the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes both parameters (url and format) comprehensively, with 100% coverage. The description adds minor value by noting 'full text content' and specifying the output formats, but does not significantly enhance understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool reads and extracts content from web pages using Metaso API, and specifies the output as full text in markdown or JSON. This is distinct from sibling tools metaso_chat (conversational) and metaso_search (searching), making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for reading a specific URL, but does not explicitly state when to use this tool versus siblings (e.g., use when you need raw content from a page, not when you need to search or chat). No exclusion criteria or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
metaso_searchB
Search the internet using Metaso AI search engine. Supports multiple search scopes including webpages, documents, academic papers, images, videos, and podcasts.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query content | |
| scope | No | Search scope/domain | webpage |
| page | No | Page number for pagination (mutually exclusive with size) | |
| size | No | Number of results to return (mutually exclusive with page) | |
| include_summary | No | Whether to include AI-generated summary | |
| include_row_content | No | Whether to include raw webpage content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Only states 'search the internet' without disclosing rate limits, authentication needs, side effects, or result format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no redundant 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?
Despite 6 parameters and no output schema, the description omits details on pagination, mutual exclusion of page/size, and return value structure. Incomplete for effective use.
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 baseline is 3. The description adds value by elaborating on scope enum values (e.g., 'academic papers' for 'scholar') beyond the brief schema descriptions.
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?
Clear verb 'search' and specific resource 'internet using Metaso AI search engine'. The list of supported scopes clearly differentiates from sibling tools like metaso_chat and metaso_reader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives (metaso_chat, metaso_reader). Lacks context for selection or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: chat for conversational AI, reader for extracting web content, and search for internet search. No overlap or ambiguity.
All tools follow a consistent 'metaso_<action>' pattern with clear verb/noun naming: chat, reader, search. Perfectly predictable.
Three tools is well-scoped for an AI assistant server, each serving a core function without unnecessary bloat or gaps.
The tool surface covers the essential operations: conversational query, web reading, and search. No obvious missing functionality for its domain.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
The best web search for your AI Agent
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables web search through DuckDuckGo and webpage content fetching with intelligent text extraction. Features built-in rate limiting and LLM-optimized result formatting for seamless integration with language models.2MIT
- AlicenseAqualityAmaintenanceProvides LLMs with real-time web search and content extraction capabilities, including text/news search, full-text URL reading, and targeted technical documentation search.324MIT
- AlicenseNot gradedqualityCmaintenanceProvides web search with content extraction, YouTube subtitles, and optional LLM summarization for AI assistants.Apache 2.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/csrts/metaso-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server