Skip to main content
Glama
UniFuncs

UniFuncs MCP Server

Official
by UniFuncs

UniFuncs MCP Server

MCP Server for the UniFuncs API - Enhanced with Deep Search and Deep Research capabilities

Features

This MCP server provides access to the following UniFuncs APIs:

Real-time web search with comprehensive results

  • Search across the internet with keywords

  • Filter by freshness (Day/Week/Month/Year)

  • Pagination support (1-50 results per page)

  • Multiple output formats (JSON/Markdown/Text)

2. Web Reader (web-reader)

Extract detailed content from web pages

  • Clean content extraction

  • Optional image inclusion

  • Link summary support

  • Markdown output

3. Deep Search - Sync (deep-search-sync)

Real-time deep search with immediate results

  • Model: S3 / S3 Pro

  • Streaming support

  • Instant response

4. Deep Search - Async (deep-search-create-task + deep-search-query-task)

Asynchronous deep search for complex queries

  • Create task and get task_id immediately

  • Poll for task status and results

  • Background processing for large queries

5. Deep Research (deep-research-create-task + deep-research-query-task)

Comprehensive deep research capabilities

  • Models: U3, U3 Pro

  • Customizable research parameters:

    • Introduction: Set researcher persona

    • Reference style: link/number/footnote

    • Max depth: Up to 50 iterations (25 recommended)

    • Domain scope: Limit search to specific domains

    • Domain blacklist: Exclude specific domains

    • Custom output prompts

    • Important URLs, keywords, and prompts

  • Async task management

Related MCP server: MCP MixSearch

Setup

API Key

Get a UniFuncs API Key: https://unifuncs.com/account

NPX (STDIO)

{
    "mcpServers": {
        "unifuncs": {
            "command": "npx",
            "args": [
                "-y",
                "@unifuncs/ufn-mcp-server"
            ],
            "env": {
                "UNIFUNCS_API_KEY": "sk-**********"
            }
        }
    }
}

Note: the npx experience reflects the latest package published to npm, not necessarily the current main branch. If the published npm version is behind main, use the source build instructions below to reproduce the latest merged toolset.

Source Build (Local)

git clone https://github.com/UniFuncs/ufn-mcp-server.git
cd ufn-mcp-server
yarn install
npm run build
UNIFUNCS_API_KEY=sk-********** node build/index.js

Example Codex MCP config:

[mcp_servers.unifuncs-local]
command = "node"
args = ["/absolute/path/to/ufn-mcp-server/build/index.js"]

[mcp_servers.unifuncs-local.env]
UNIFUNCS_API_KEY = "sk-**********"

SSE Server

For SSE transport, set the environment variable:

export UNIFUNCS_SSE_SERVER=true
export UNIFUNCS_SSE_SERVER_PORT=5656  # Optional, default is 5656

Or use the --sse flag:

npx @unifuncs/ufn-mcp-server --sse

Tool Reference

Query: Search keywords
Freshness: Day | Week | Month | Year (optional)
Page: Page number, default 1 (optional)
Count: Results per page, 1-50, default 10 (optional)
Format: json | markdown | text, default json (optional)

web-reader

URL: Page URL to read
Format: markdown (optional)
IncludeImages: boolean (optional)
LinkSummary: boolean (optional)

deep-search-sync

Model: s3 / s3-pro (default: s3)
Messages: Array of {role: "user"|"assistant"|"system", content: string}
Stream: boolean (default: false)

deep-search-create-task

Model: s3 / s3-pro (default: s3)
Messages: Array of {role: "user"|"assistant"|"system", content: string}
Returns: task_id for querying status

deep-search-query-task

Task_ID: Task ID from create_task
Returns: Task status, progress, and results when completed

deep-research-create-task

Model: u3 | u3-pro (default: u3)
Content: Research question/topic
Introduction: Researcher persona (optional)
Reference_Style: link | number | footnote (default: link)
Generate_Summary: boolean (default: false)
Max_Depth: 1-50 (default: 25, recommended)
Domain_Scope: Comma-separated domains (optional)
Domain_Blacklist: Comma-separated domains to exclude (optional)
Output_Prompt: Custom output template (optional)
Important_URLs: Comma-separated URLs (optional)
Important_Keywords: Comma-separated keywords (optional)
Important_Prompt: Important prompt content (optional)
Push_To_Share: boolean (default: false)
Set_Public: boolean (default: false)
Returns: task_id for querying status

deep-research-query-task

Task_ID: Task ID from create_task
Returns: Task status, progress, and results when completed

Examples

{
  "query": "OpenClaw AI",
  "count": 5,
  "format": "json"
}

Deep Search Async

// Create task
{
  "model": "s3",
  "messages": [
    { "role": "user", "content": "What are the latest developments in AI?" }
  ]
}

// Query task (use returned task_id)
{
  "task_id": "3aff2a91-7795-4b73-8dab-0593551a27a1"
}

Deep Research

// Create research task
{
  "model": "u3",
  "content": "Analyze the impact of AI on healthcare",
  "max_depth": 25,
  "domain_scope": "arxiv.org, nature.com",
  "generate_summary": true
}

// Query research task
{
  "task_id": "research-task-id-here"
}

Pricing

  • Web Search: Pay per request

  • Web Reader: Pay per request

  • Deep Search: Pay per token usage

  • Deep Research:

    • U3: M Tokens

    • U3 Pro: M Tokens

For detailed pricing, visit: https://unifuncs.com/pricing

Support

Maintainer Release Checklist

Before documenting new tools in the npx setup section, make sure the npm package has been published and smoke-tested.

  1. Bump the package version.

  2. Install dependencies and run npm run build.

  3. Publish the package to npm.

  4. Verify npm view @unifuncs/ufn-mcp-server version matches the intended release.

  5. Verify npx -y @unifuncs/ufn-mcp-server exposes the same tools described in this README.

  6. Update the changelog and README after the npm release is available.

License

MIT

Changelog

v0.1.0 (2026-02-25)

  • Added Deep Search sync API support

  • Added Deep Search async API (create_task + query_task)

  • Added Deep Research async API (create_task + query_task)

  • Enhanced documentation with all tool references

  • Improved error handling

v0.0.6

  • Initial release with web-search and web-reader

Available Tools

7 tools
deep-research-create-taskC

创建深度研究任务,进行深度的网络信息研究和分析

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNou1
contentYes
max_depthNo
set_publicNo
domain_scopeNo
introductionNo
output_promptNo
push_to_shareNo
important_urlsNo
reference_styleNolink
domain_blacklistNo
generate_summaryNo
important_promptNo
important_keywordsNo

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states that a task is created and research performed. It does not explain whether it is synchronous, what it returns, side effects, or any required permissions, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but severely under-specified for a tool with 14 parameters. It sacrifices essential information for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 parameters, no annotations, no output schema), the description is completely inadequate. It fails to explain return values, usage patterns, or any contextual details needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no information about any of the 14 parameters. The agent cannot understand the meaning of 'content', 'model', 'max_depth', etc., from the description alone.

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 states the verb 'create' and resource 'deep research task', with the action of 'in-depth web information research and analysis'. However, it does not differentiate from sibling tools like deep-search-create-task, relying on the name for distinction.

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, nor are any prerequisites or when-not-to-use scenarios mentioned. The agent must infer usage solely from the name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deep-research-query-taskC

查询深度研究任务状态和结果

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, side effects, authentication requirements, or rate limits. The description simply states what the tool does, without transparency about its behavior.

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 a single concise sentence with no wasted words. It is front-loaded with the action and resource, making it easy to parse quickly.

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 lack of output schema and annotations, the description is insufficiently complete. It does not describe the return format, possible statuses, or how to interpret results, which are essential for a query tool. The simple one-param structure does not compensate for the missing contextual details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter ('task_id') with no description (0% schema description coverage). The tool description does not explain the parameter's purpose, format, or how to obtain its value. The description adds no semantic value 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 action ('查询' - query) and the resource ('深度研究任务状态和结果' - deep research task status and results). It distinguishes this tool from siblings like 'deep-research-create-task' and 'deep-search-query-task' by specifying the task type and operation.

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 explicit guidance is provided on when to use this tool versus alternatives. The description does not mention prerequisites (e.g., needing a task_id from a create call) or exclude scenarios (e.g., not for creating tasks). Usage context is purely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deep-search-create-taskC

创建深度搜索异步任务,立即返回task_id

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNos3
messagesYes

TDQS

C2.9/5.0
Behavior3/5

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

The description correctly indicates async behavior and immediate return of task_id, which is important. However, with no annotations and no mention of rate limits, error handling, or task lifecycle, the disclosure is adequate but not thorough.

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 description is extremely concise, consisting of a single sentence. It is front-loaded with the core action. However, it may be too brief, sacrificing necessary detail for brevity.

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 2 parameters and no output schema, the description should explain how to construct messages, what model options mean, and what the returned task_id represents. It fails to provide this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, and the description does not explain any parameters (model, messages). The schema provides enums and defaults, but the description adds no additional meaning or usage guidance for these parameters.

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 states it creates an async deep search task and returns a task_id immediately. However, it does not differentiate from sibling tools like deep-research-create-task or specify the scope (deep search vs research).

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 vs alternatives like deep-search-sync or deep-research-create-task. There is no mention of prerequisites or post-usage steps such as polling with deep-search-query-task.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deep-search-query-taskC

查询深度搜索异步任务状态和结果

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states that the tool queries status and results, implying a read operation, but does not mention whether it blocks, requires authentication, handles errors (e.g., task not found), or returns immediately. The lack of details on async behavior (e.g., polling vs. waiting) leaves significant transparency gaps.

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 description is a single concise sentence with no wasted words. It is front-loaded with the core action. While it could benefit from more detail, it achieves efficiency without verbosity.

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 complexity of an async task query and the absence of an output schema, the description is incomplete. It does not explain what the response contains (e.g., status codes, result structure, error messages). Without annotations, the agent lacks information about the return value, which is critical for a query tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description adds no information about the single parameter task_id. It does not specify its format, source (e.g., from a create-task response), or any constraints. The agent receives no guidance on how to obtain or construct the task_id, making the parameter essentially opaque.

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's function: querying the status and results of a deep search asynchronous task. It uses a specific verb ('query') and resource ('deep search async task status and results'). It distinguishes from sibling tools like deep-search-create-task (creation) and deep-search-sync (synchronous), 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 Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide any guidance on when to use this tool versus alternatives. It lacks explicit context about prerequisites, polling frequency, or scenarios where other tools (e.g., deep-search-sync) might be more appropriate. The sibling tool names offer some implicit context, but the description itself is silent on usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deep-search-syncC

深度搜索同步接口,实时返回搜索结果

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNos3
streamNo
messagesYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states 'sync' and 'returns results in real-time', but lacks details on authentication, rate limits, what happens on errors, or what the results contain.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences are concise but under-informative. The description could be longer to add value without being verbose.

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 3 parameters no output schema and no annotations, the description is insufficient. It does not explain what deep search entails, the difference from async siblings, or the implications of 'sync' and 'real-time'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description does not explain any of the three parameters (model, stream, messages), leaving the agent entirely dependent on the schema for understanding their meaning and usage.

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 states it is a synchronous deep search interface returning real-time results. However, it does not explicitly distinguish it from siblings like deep-search-create-task or deep-search-query-task, which may also involve deep search but with different patterns.

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 on when to use this tool vs alternatives. The description does not mention any prerequisites, exclusions, or context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web-readerC

抓取指定页面URL的详细内容

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
formatNo
linkSummaryNo
includeImagesNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only mentions 'fetch detailed content' without specifying if JavaScript rendering is supported, handling of PDFs, or any constraints. This is minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, making it concise, but it is under-specified for a tool with 4 parameters. Conciseness is not an excuse for omitting essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 4 parameters, no output schema, and no annotations, the description is severely incomplete. The agent cannot infer return format, parameter effects, or behavioral expectations, making tool invocation risky.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, meaning property descriptions are missing from the schema. The tool description does not explain any parameters (format, linkSummary, includeImages), leaving the agent without guidance on how to use them.

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 states the action (fetch) and resource (detailed content of specified page URL). It distinguishes from sibling tools like web-search and deep-search, which focus on search results or deeper crawling, but does not explicitly differentiate.

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 usage guidance is provided. The description lacks context on when to use this tool over alternatives, prerequisites, or limitations such as rate limits or page size.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation4/5

Tools are mostly distinct, but there is potential confusion between deep-research and deep-search variants (e.g., create-task vs create-task). Descriptions help differentiate, but the similarity in names could lead to misselection.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with hyphens (e.g., deep-research-create-task, web-search). The naming convention is uniform across the set, making it predictable.

Tool Count5/5

With 7 tools, the count is appropriate for a web/search research server. It covers async/sync search, deep research tasks, and web reading without being overwhelming or sparse.

Completeness4/5

The tool set covers core operations: creating and querying tasks, synchronous search, and web reading. Missing task listing or deletion, but essential workflows are supported.

Maintenance

ActivityStale
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
    A
    quality
    D
    maintenance
    Enables AI assistants to perform real-time web searches, company research, content crawling, LinkedIn searches, and deep research using the Exa AI Search API. Provides comprehensive web information retrieval capabilities in a safe and controlled manner.
    2
    25,462
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables advanced web search across multiple search engines (Brave, DuckDuckGo, Google, Bing, Yandex) with intelligent backend selection, full content extraction, and advanced filtering by time, language, geography, and content type.
    3
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables deep web search across multiple providers including Google, Bing, Brave, DuckDuckGo, and Perplexity, with support for comprehensive AI-powered research using intelligent multi-engine queries.
    2
    38
    9
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to perform comprehensive web research through tiered search, secure URL fetching with markdown conversion, and automated multi-source synthesis pipelines. Provides read-only tools with configurable caching, SSRF protection, and optional LLM-powered summarization for search results and content analysis.
    8
    1
    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/UniFuncs/ufn-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server