mcpField
M
MIAPI — Grounded Web Answers

MIAPI — Grounded Web Answers

Local
miapi.ukSearch1Updated 9w ago

About MIAPI — Grounded Web Answers

MIAPI is an API for AI answers grounded in live web search, with source citations, plus standalone search, news, and image results. Its MCP server lets AI assistants access these capabilities directly.

Key features

  1. 01Generate web-grounded answers with citations
  2. 02Answer from supplied text
  3. 03Retrieve raw web search results
  4. 04Search news and images
  5. 05Stream answer output
  6. 06Check API usage

Use cases

  1. 01Research a question and verify its sources
  2. 02Answer queries using a supplied return policy
  3. 03Find search results for recent research papers
  4. 04Locate news or images on a topic

MCP support

MIAPI provides an MCP server exposing web answers, web search, news search, image search, and usage-check tools to clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"uk-miapi-miapi": {
"command": "uvx",
"args": [
"miapi-sdk"
],
"env": {
"MIAPI_API_KEY": "<MIAPI_API_KEY>"
}
}
}
}
Run commanduvx miapi-sdk
Environment variables to set
MIAPI_API_KEYSecretYour MIAPI API key. Free tier available at https://miapi.uk

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimiapi-sdk1.1.1

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MIAPI — Grounded AI Answers API

Official Python client for MIAPI — get AI-powered answers grounded in real-time web search.

Install

pip install miapi-sdk

Quick Start

from miapi import MIAPI

client = MIAPI("YOUR_API_KEY")

# Get a grounded answer with citations
result = client.answer("What is quantum computing?", citations=True)
print(result.answer)     # AI-generated answer with [1][2] markers
print(result.sources)    # List of source URLs
print(result.confidence) # 0.0 - 1.0

Features

Web-Grounded Answers
result = client.answer("Who won the last World Cup?")
print(result.answer)
Knowledge Mode — Answer From Your Data
result = client.answer(
    "What is the return policy?",
    mode="knowledge",
    knowledge="Returns accepted within 30 days with receipt..."
)
print(result.answer)
Search Only — Raw Results
sources = client.search("latest AI research papers")
for source in sources:
    print(source.title, source.url)
News Search
news = client.news("technology", num_results=5)
for article in news:
    print(article.title, article.date)
Image Search
images = client.images("golden retriever")
for img in images:
    print(img.url, img.width, img.height)
Streaming
for event in client.stream("Explain quantum computing"):
    if event['type'] == 'answer':
        print(event['content'], end='', flush=True)
    elif event['type'] == 'done':
        print(f"\nDone in {event.get('query_time_ms')}ms")
Check Usage
info = client.usage()
print(f"Used {info.queries_this_month}/{info.monthly_limit} this month")
print(f"Tier: {info.tier}")
Custom Options
result = client.answer(
    "Compare Python and Rust",
    response_format="markdown",   # text, short, json, markdown
    temperature=0.5,              # 0.0 (precise) to 1.0 (creative)
    max_tokens=800,               # Max answer length
    language="French",            # Answer in any language
    search_domains=["wikipedia.org"],  # Restrict sources
    system_prompt="Answer like a professor",
)

Error Handling

from miapi import MIAPI, MIAPIError, RateLimitError, AuthenticationError

client = MIAPI("YOUR_API_KEY")

try:
    result = client.answer("Hello")
except AuthenticationError:
    print("Bad API key")
except RateLimitError as e:
    print(f"Rate limited: {e.message}")
except MIAPIError as e:
    print(f"Error: {e.message} (HTTP {e.status_code})")

OpenAI Drop-in Replacement

MIAPI is also compatible with the OpenAI Python client:

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_MIAPI_KEY",
    base_url="https://api.miapi.uk/v1"
)

response = client.chat.completions.create(
    model="miapi-grounded",
    messages=[{"role": "user", "content": "What is AI?"}]
)
print(response.choices[0].message.content)

Get Your API Key

Sign up free at miapi.uk — 500 queries/month included.

Links

Use from Claude Desktop, Cursor or Windsurf (MCP)

MIAPI ships an MCP server, so an AI assistant can search the web and get answers with real citations without you writing any code.

pip install "miapi-sdk[mcp]"

Then add it to your assistant's MCP config:

{
  "mcpServers": {
    "miapi": {
      "command": "miapi-mcp",
      "env": { "MIAPI_API_KEY": "your_key_here" }
    }
  }
}

Tools it provides: web_answer, web_search, news_search, image_search, check_usage.

Get a key at https://miapi.uk — free tier included.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.