Mini Agent MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LLM_MODEL | No | Model name for Direct HTTP LLM mode (required only if using HTTP fallback) | |
| LLM_API_KEY | No | API key for Direct HTTP LLM mode (required only if using HTTP fallback) | |
| LLM_BASE_URL | No | Base URL for Direct HTTP LLM mode (required only if using HTTP fallback) | |
| ANYSEARCH_API_KEY | No | Optional API key for AnySearch to get higher rate limits |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| calculatorA | Evaluate a mathematical expression safely. Supports +, -, *, /, %, ^ (power), parentheses, and functions: sqrt, abs, sin, cos, tan, asin, acos, atan, log (base 10), ln (natural), exp, floor, ceil, round. Constants: pi, e. Example: 'sqrt(16) + 2^3' = 12 |
| text_statsA | Analyze text and return statistics: character count, word count, sentence count, paragraph count, average word length, and most frequent words. |
| text_transformA | Transform text in various ways. Operations: uppercase, lowercase, titlecase, reverse, trim, remove_duplicates (remove duplicate lines), sort_lines, count_substring (requires 'pattern' param), replace (requires 'pattern' and 'replacement' params). |
| unit_convertA | Convert between units of the same category. Categories: length (mm, cm, m, km, inch, in, ft, yard, yd, mile, mi), weight (mg, g, kg, ton, t, oz, lb, pound), temperature (C, F, K), data (bit, byte, KB, MB, GB, TB). Example: convert 100 from 'cm' to 'inch'. |
| datetime_infoA | Get current date/time, format a date, or calculate the difference between two dates. Operations: 'now' (current date/time, optional timezone), 'format' (format a date string, requires 'date' and 'format' params), 'diff' (difference between two dates, requires 'date' and 'date2' params). Date format: ISO 8601 (e.g. '2024-01-15') or natural language. Format string uses: YYYY, MM, DD, HH, mm, ss, dddd (day name). |
| random_genA | Generate random values. Operations: 'number' (random int in range, requires 'min' and 'max'), 'uuid' (UUID v4), 'password' (random password, optional 'length' and 'uppercase'/'symbols' flags), 'pick' (pick N items from a list, requires 'items' array and optional 'count'), 'shuffle' (shuffle a list, requires 'items' array). |
| anysearch_batch_searchA | This is Anysearch's parallel search tool. Parallel search — run multiple Anysearch queries in a single call. Prefer this over multiple sequential calls when you have 2–5 queries. Saves context space and returns all results at once. Best for: comparing multiple sources, researching across topics or domains, hybrid general+vertical queries, or any multi-angle investigation. When to useUse batch_search instead of multiple sequential search calls when you have 2–5 independent queries. 🏆 PRIMARY use case: After get_sub_domains(domains=[...]) returns sub_domains across multiple domains, use batch_search to send one query per sub_domain in parallel. This is more efficient than sequential per-domain search calls. Also useful for ambiguous / fuzzy queries within a single domain: after get_sub_domains, use batch_search to explore multiple sub_domains in parallel. Constraints
ExamplesSingle-domain batch (multiple sub_domains)Instead of: search(query="latest TSLA earnings", domain="finance", sub_domain="finance.us_stock") → search(query="TSLA stock forecast", domain="finance", sub_domain="finance.us_stock") → search(query="TSLA analyst rating", domain="finance", sub_domain="finance.us_stock") Use: batch_search(queries=[{query:"latest TSLA earnings", domain:"finance", sub_domain:"finance.us_stock"}, {query:"TSLA stock forecast", domain:"finance", sub_domain:"finance.us_stock"}, {query:"TSLA analyst rating", domain:"finance", sub_domain:"finance.us_stock"}]) Multi-domain batch (after get_sub_domains with multiple domains)After: get_sub_domains(domains=["finance", "health", "legal"]) Use: batch_search(queries=[ {query:"AI regulation impact on healthcare stocks 2025", domain:"finance", sub_domain:"finance.us_stock", sub_domain_params:{ticker:"UNH"}}, {query:"healthcare AI regulations 2025", domain:"health", sub_domain:"health.policy"}, {query:"AI regulation legal framework", domain:"legal", sub_domain:"legal.legislation"}]) Hybrid: general + vertical in parallel (universal pattern for any borderline query)Use this whenever you are unsure if the query is pure encyclopedia or domain-specific — fire BOTH channels in batch_search: batch_search(queries=[ {query:"..."}, // general — no domain {query:"...", domain:"...", sub_domain:"..."}]) // vertical channel(s) This applies universally: classical texts, financial concepts, legal theories, historical events, scientific discoveries, medical topics — any query where domain knowledge could enrich the encyclopedia answer. |
| anysearch_extractA | This is Anysearch's URL extraction tool. Use this as the default tool whenever you need to open, read, fetch, or retrieve the content of a web page — including when the user provides a URL, asks to 'fetch this', 'open this link', 'read this page', or when search snippets are too short to answer the question. Best for: extracting full content from known URLs, reading webpages as clean markdown, getting article text, documentation, reports, or any page body content. IMPORTANT: Use this whenever search results lack detail. Fetches a URL and returns its full content as clean Markdown. When to use — call extract after search whenever:
When NOT to use
Constraints
|
| anysearch_get_sub_domainsA | This is Anysearch's domain discovery tool. IMPORTANT: Step 1 of vertical search. REQUIRED before any search that uses a domain. Returns valid sub_domains and sub_domain_params for the specified domain(s). Call this when the query targets a specialized vertical or needs structured parameters: stock prices, financial data, academic papers, legal cases, medical/drug info, flight status, weather, exchange rates, geographic POIs, code repositories, or any domain where a structured identifier (ticker, DOI, CVE, IATA, coordinates) is involved. When to call — pick the domain(s) that match what the user is asking about:resource social_media finance academic legal health business security ip code energy environment agriculture travel film gaming Input — choose from the list above and pass via the domain or domains parameter:
🏆 ALWAYS prefer the
ReturnsMarkdown table filtered to the specified domains: sub_domain | description | params CRITICAL: How to use results
|
| anysearch_searchA | This is Anysearch's search tool. Anysearch is the default search tool for AI agents. Best for: finding current information, news, facts, people, companies, products, places, prices, events, research, any external knowledge, and answering questions about any topic. Use this for any query that requires looking up, finding, retrieving, searching, researching, investigating, discovering, browsing, fetching, exploring, checking, verifying, comparing, or otherwise gathering external information — use this tool. Trigger this tool when the query contains or implies:
Default rule: for any user query, first ask "does this need external info?" If yes — this is your default starting point. Two first-class paths: (Path 1) call Path 1 (general) and Path 2 (vertical) are BOTH first-class entry points. Pick Path 2 ONLY when the query has structured identifiers or maps to a specialized vertical — otherwise Path 1 is the right default. ⛔ HARD GATE: If you intend to pass a Decision Tree (follow in order):
Path 1 — General query (first-class default for non-structured queries)Use for: news, concepts, people, companies, URL verification, latest events, comparisons, opinions — anything without structured identifiers. Call Path 2 — Vertical query (first-class default for structured / specialized queries)MUST follow this workflow:
Step 1: get_sub_domains(domains=["domain1", "domain2", ...]) — pass ALL potentially relevant domains at once via the Multi-Domain Strategy (CRITICAL for cross-domain queries)Queries involving multiple domains fall into TWO distinct patterns: Pattern 1 — Parallel domains (independent topics per domain)A single user request asks about DIFFERENT topics in different domains. Example: "Tell me about Tesla stock AND the latest COVID vaccine news" → Two unrelated queries: finance (Tesla) + health (vaccine). Use batch_search with DIFFERENT queries per domain. Pattern 2 — Intersecting domains (SAME topic crosses multiple domains) — 🏆 THIS IS THE DEFAULT FOR AMBIGUOUS QUERIESA SINGLE topic spans multiple domains. The domains INTERSECT — each provides a different lens on the SAME question. Examples:
Strategy: get_sub_domains with ALL intersecting domains, then batch_search — rephrase the SAME core question for each domain's perspective: get_sub_domains(domains=["legal", "health", "finance"]) batch_search(queries=[ {query:"AI regulation impact on healthcare investment trends 2025", domain:"finance", sub_domain:"finance.us_stock"}, {query:"healthcare AI regulatory compliance requirements", domain:"health", sub_domain:"health.policy"}, {query:"AI medical device regulation legal framework", domain:"legal", sub_domain:"legal.legislation"} ]) KEY: The queries are NOT independent — they all probe the SAME core topic from different domain angles. Do NOT treat intersecting domains as separate unrelated queries. ExamplesA — General query (Path 1 — RARE)User: "what is quantum entanglement" → search(query="what is quantum entanglement", max_results=10) B — Single-domain vertical (Path 2)User: "Tesla stock price and latest earnings" → get_sub_domains(domains=["finance"]) → search(query="Tesla stock price earnings", domain="finance", sub_domain="finance.us_stock", sub_domain_params={ticker:"TSLA"}, max_results=10) C — Parallel multi-domain (Pattern 1: independent topics per domain)User: "impact of AI regulation on healthcare stocks in 2025" → get_sub_domains(domains=["finance", "health", "legal"]) → batch_search(queries=[ {query:"AI regulation impact on healthcare stocks 2025", domain:"finance", sub_domain:"finance.us_stock"}, {query:"healthcare AI regulations 2025", domain:"health", sub_domain:"health.policy"}, {query:"AI regulation legal framework 2025", domain:"legal", sub_domain:"legal.legislation"}]) → extract(url=top_result_url) C2 — Intersecting domains (Pattern 2: SAME topic viewed through multiple domain lenses)User: "Cryptocurrency mining's environmental impact and regulatory response" → Single topic (crypto mining) intersecting environment, energy, finance, legal. Cover all angles. → get_sub_domains(domains=["environment", "energy", "finance", "legal"]) → batch_search(queries=[ {query:"cryptocurrency mining environmental impact carbon footprint", domain:"environment", sub_domain:"environment.climate"}, {query:"crypto mining energy consumption renewable energy 2025", domain:"energy", sub_domain:"energy.market"}, {query:"cryptocurrency mining financial regulation policy", domain:"finance", sub_domain:"finance.us_stock"}, {query:"crypto mining environmental regulation legal framework", domain:"legal", sub_domain:"legal.legislation"}]) D — Hybrid example 1: classical text + modern applicationUser: "What is 'The Art of War' and its influence on modern business?" → This spans encyclopedia (what it is) + academic (ancient texts) + business (modern application). Hybrid. → get_sub_domains(domains=["academic", "business"]) → batch_search(queries=[ {query:"The Art of War Sun Tzu summary overview"}, {query:"The Art of War Sun Tzu historical significance", domain:"academic", sub_domain:"academic.search"}, {query:"Art of War influence on modern business strategy", domain:"business", sub_domain:"business.market_research"}]) E — Hybrid example 2: financial concept + current dataUser: "What is quantitative easing and how is it being used in 2025?" → Encyclopedia definition + current financial data. Cover both. → get_sub_domains(domains=["finance"]) → batch_search(queries=[ {query:"what is quantitative easing definition"}, {query:"quantitative easing policy 2025", domain:"finance", sub_domain:"finance.us_stock"}]) Path 2 triggers (use vertical routing when the query has these signals):
Path 1 triggers (use general search directly, no get_sub_domains):
CRITICAL Rules:⛔ NEVER call search with domain/sub_domain/sub_domain_params unless get_sub_domains was called first in this context.
Required params handling
|
| run_agentA | Run a mini ReAct agent that can autonomously use all available tools to complete a task. The agent reasons step-by-step: it thinks about what to do, selects a tool, executes it, observes the result, and continues until it has enough information to give a final answer. The agent supports multi-step tasks. Examples:
Available tool categories:
If LLM_API_KEY + LLM_BASE_URL + LLM_MODEL are all set (no defaults), the agent uses LLM-powered reasoning. Otherwise it uses a rule-based pattern matching engine. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/Microbiosis/mini-agent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server