UniFuncs MCP Server
OfficialClick 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., "@UniFuncs MCP Serversearch for recent developments in quantum computing"
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.
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:
1. Web Search (web-search)
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.jsExample 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 5656Or use the --sse flag:
npx @unifuncs/ufn-mcp-server --sseTool Reference
web-search
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 statusdeep-search-query-task
Task_ID: Task ID from create_task
Returns: Task status, progress, and results when completeddeep-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 statusdeep-research-query-task
Task_ID: Task ID from create_task
Returns: Task status, progress, and results when completedExamples
Web Search
{
"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
Documentation: https://unifuncs.com/api
Email: service@unifuncs.com
WeChat: unifuncs
Maintainer Release Checklist
Before documenting new tools in the npx setup section, make sure the npm package has been published and smoke-tested.
Bump the package version.
Install dependencies and run
npm run build.Publish the package to npm.
Verify
npm view @unifuncs/ufn-mcp-server versionmatches the intended release.Verify
npx -y @unifuncs/ufn-mcp-serverexposes the same tools described in this README.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 toolsdeep-research-create-taskC
创建深度研究任务,进行深度的网络信息研究和分析
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | u1 | |
| content | Yes | ||
| max_depth | No | ||
| set_public | No | ||
| domain_scope | No | ||
| introduction | No | ||
| output_prompt | No | ||
| push_to_share | No | ||
| important_urls | No | ||
| reference_style | No | link | |
| domain_blacklist | No | ||
| generate_summary | No | ||
| important_prompt | No | ||
| important_keywords | No |
TDQS
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.
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.
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.
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.
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.
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
查询深度研究任务状态和结果
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | s3 | |
| messages | Yes |
TDQS
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.
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.
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.
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.
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.
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
查询深度搜索异步任务状态和结果
| Name | Required | Description | Default |
|---|---|---|---|
| task_id | Yes |
TDQS
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.
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.
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.
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.
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.
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
深度搜索同步接口,实时返回搜索结果
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | s3 | |
| stream | No | ||
| messages | Yes |
TDQS
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.
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.
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.
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.
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.
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的详细内容
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| format | No | ||
| linkSummary | No | ||
| includeImages | No |
TDQS
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.
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.
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.
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.
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.
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.
web-searchC
通过关键词检索互联网上的信息列表
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| count | No | ||
| query | Yes | ||
| format | No | ||
| freshness | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It only states basic search functionality without disclosing behavioral traits like idempotency, rate limits, or result handling.
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 a single sentence, which is concise. However, it lacks structure and additional details that would help an agent understand the tool's full capabilities.
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 no output schema and no annotations, the description is minimal and missing important context like pagination, result format, or search behavior specifics. It is inadequate for a tool with 5 parameters.
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 0%, meaning the description adds no information about parameters. The schema itself provides types and enums, but the description does not clarify their purpose or provide usage examples.
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 action (search) and resource (list of information on the internet by keywords). However, it does not differentiate from sibling tools like deep-search or web-reader, which might have overlapping functionality.
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, nor any context on prerequisites or exclusions. The description is purely declarative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
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.
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.
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.
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
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 research for agents: quality-scored Google search, webpage extraction, and deep research.
Provides AI assistants with access to Seltz's powerful Web Search capabilities.
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Agent-native search engine with live web research optimized for AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.225,4621MIT
- AlicenseAqualityDmaintenanceEnables 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.3MIT
- AlicenseBqualityBmaintenanceEnables 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.2389MIT
- AlicenseAqualityCmaintenanceEnables 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.81MIT
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/UniFuncs/ufn-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server