Skip to main content
Glama
csrts

Metaso MCP Server

by csrts

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_KEY

-

Metaso API密钥(格式:mk-[32位字符])

METASO_BASE_URL

https://metaso.cn

API基础URL

METASO_TIMEOUT

30000

请求超时时间(毫秒)

METASO_DEBUG

false

启用调试日志

获取API密钥

  1. 访问 Metaso官网

  2. 注册账户并获取API密钥

  3. 设置环境变量:

    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 (可选): 搜索范围,支持 webpagedocumentscholarimagevideopodcast

  • page (可选): 页数(与size互斥)

  • size (可选): 结果数量(与page互斥)

  • include_summary (可选): 是否包含AI摘要(默认true)

  • include_row_content (可选): 是否包含原文内容(默认false)

示例

{
  "query": "人工智能最新发展",
  "scope": "scholar",
  "size": 10,
  "include_summary": true
}

2. metaso_reader - 网页读取

读取指定网页的完整内容。

参数

  • url (必需): 要读取的网页URL

  • format (可选): 返回格式,支持 markdownjson(默认markdown)

示例

{
  "url": "https://example.com/article",
  "format": "markdown"
}

3. metaso_chat - AI问答

与Metaso AI助手对话,获得基于搜索增强的智能回答。

参数

  • query (必需): 问题或提示内容

  • model (可选): AI模型,支持 fastfast_thinkingds-r1(默认fast)

  • scope (可选): 搜索范围,支持 documentscholarvideopodcast

  • format (可选): 响应格式,支持 chat_completionssimple(默认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

故障排除

常见错误

  1. 配置验证失败

    Configuration validation failed: apiKey: Required

    解决方案: 确保设置了METASO_API_KEY环境变量

  2. API密钥格式错误

    Invalid API key format. Expected format: mk-[32 alphanumeric characters]

    解决方案: 检查API密钥格式是否正确

  3. 网络连接错误

    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 tools
metaso_chatC

Chat with Metaso AI assistant. Get intelligent responses based on search-enhanced AI models. Supports multiple models and output formats.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesQuestion or prompt for the AI assistant
modelNoAI model to use for the responsefast
scopeNoSearch scope for enhanced responses (webpage is default)
formatNoResponse formatchat_completions
streamNoEnable streaming output (for compatible formats)

TDQS

C2.9/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the webpage to read
formatNoFormat of the returned contentmarkdown

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

TDQS

A3.7/5.0
Disambiguation5/5

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.

Naming Consistency5/5

All tools follow a consistent 'metaso_<action>' pattern with clear verb/noun naming: chat, reader, search. Perfectly predictable.

Tool Count5/5

Three tools is well-scoped for an AI assistant server, each serving a core function without unnecessary bloat or gaps.

Completeness5/5

The tool surface covers the essential operations: conversational query, web reading, and search. No obvious missing functionality for its domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables 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.
    2
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Provides web search capabilities across multiple engines and webpage content fetching to simplified Markdown. It enables AI assistants to access real-time internet information and extract text from specific URLs.
    2
    13
  • A
    license
    A
    quality
    A
    maintenance
    Provides LLMs with real-time web search and content extraction capabilities, including text/news search, full-text URL reading, and targeted technical documentation search.
    3
    24
    MIT

Latest Blog Posts

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