askr

askr

An MCP assistant that provides asynchronous and parallel Q\&A capabilities for AI clients using OpenAI-compatible APIs. It supports streaming, chain-of-thought detection, and local session persistence with a dedicated management panel for configuration.

Category
Visit Server

README

<div align="center">

askr

MCP Q&A Assistant / MCP 问答助手

Async Q&A capabilities for AI clients via MCP protocol, powered by any OpenAI-compatible API.

通过 MCP 协议为 AI 客户端提供异步问答能力,后端对接任意 OpenAI 兼容 API。

English | 中文文档

🤖 100% Vibe Coding — Built entirely through AI-assisted development.

⭐ If you like this project, please give it a star!

</div>


Quick Start

# First time: launch the management panel to configure your provider
npx @sweatent/askr -m

# Start the MCP stdio server
npx @sweatent/askr

Features

  • question — Ask a single question with streaming support
  • agentq — Ask multiple independent questions in parallel (configurable concurrency)
  • list — View recent session statuses
  • check — Retrieve session results with blocking wait, full content, and chain-of-thought support

MCP Client Integration

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "askr": {
      "command": "npx",
      "args": ["askr"]
    }
  }
}

Claude Code

Add via CLI or global config:

claude mcp add askr -- npx @sweatent/askr

Or manually edit .claude/settings.json:

{
  "mcpServers": {
    "askr": {
      "command": "npx",
      "args": ["askr"]
    }
  }
}

Cursor / Other MCP Clients

Configure a stdio-type MCP server with command npx @sweatent/askr per your client's documentation.

Management Panel

npx @sweatent/askr -m
# or
npx @sweatent/askr --manage

Menu options:

  1. Manage Provider — Configure Base URL, API Key, model (auto-fetch model list or manual input)
  2. Manage Questions — View/close active sessions
  3. View Logs — Browse session history with question, chain-of-thought, and answer (live refresh for running sessions)
  4. More Settings — Max concurrency, timeout, fold characters, system prompt, language

Supports Chinese and English interfaces.

Configuration

Config file is stored in the system data directory:

Platform Path
Windows %AppData%/askr/config.json
macOS ~/Library/Application Support/askr/config.json
Linux ~/.config/askr/config.json
{
  "language": "en",
  "provider": {
    "baseUrl": "https://api.example.com",
    "apiKey": "sk-xxx",
    "model": "gpt-4",
    "stream": true
  },
  "settings": {
    "maxConcurrent": 5,
    "timeout": 150,
    "foldChars": 1000,
    "systemPrompt": "You are a search assistant..."
  }
}

Base URL

  • Standard: https://api.example.com — automatically appends /v1/chat/completions
  • Custom endpoint: https://api.example.com/custom/path# — trailing # means use as-is (strip the #)

Tool Reference

question

{ "content": "What is REST and its core principles?" }

Ask a single question. Answers exceeding foldChars are truncated; use check for full content. Returns session ID on timeout.

agentq

{ "questions": ["What is Docker?", "What is Kubernetes?"] }

Parallel questions, up to maxConcurrent. Each question runs in isolated context, returning its own result or session ID.

list

{ "count": 5 }

Returns the most recent N session summaries (ID, timestamp, status, question preview).

check

{ "id": "a3f8k2", "showFull": true, "showThinking": true }

Retrieve session result. Blocks if the session is still running. Parameters:

  • showFull — Return full answer without truncation
  • showThinking — Include chain-of-thought content

Highlights

  • Streaming — SSE streaming with real-time session file updates
  • Auto fallback — Automatically falls back to non-streaming if streaming fails
  • Chain-of-thought separation — Detects <think> tags, reasoning_content, and thinking fields
  • Hot reload — Config changes from the management panel take effect immediately, no restart needed
  • Session persistence — All Q&A records saved locally with full history browsing

Requirements

  • Node.js >= 18

Recommended Prompt

Add the following to your project's CLAUDE.md or other AI client system prompt for best results:

## askr Usage Guidelines

You can use askr MCP tools to search and ask an external AI to assist with your tasks.

### When to Use

- **Pre-implementation research**: Before using unfamiliar or uncertain public APIs / library functions, query their signatures, parameters, usage, and caveats to avoid writing incorrect code from memory
- **Unfamiliar concepts**: Look up terms, protocols, or design patterns you don't fully understand
- **Latest information**: Query recently released versions, changelogs, news, or announcements that may not be covered in your training data
- **Troubleshooting**: When facing hard-to-solve errors or unexpected behavior, search for solutions including GitHub Issues, Stack Overflow discussions, etc.
- **Solution comparison**: When deciding between multiple technical approaches, query their trade-offs and community recommendations
- **Configuration & compatibility**: Look up platform-specific configurations or known compatibility issues for particular environments or versions

### Principles

1. Prefer using askr to search first; only rely on your own knowledge when you are fully confident it is accurate and up-to-date
2. Be specific in your questions, include necessary context (language, framework, version, etc.), avoid vague queries
3. Combine related sub-questions into one question; use agentq for unrelated parallel questions
4. Use check to retrieve timed-out results; re-ask if check times out twice
5. Use check(id, showFull: true) when you need the full untruncated answer

Acknowledgements

Thanks to the LinuxDo community for the support!

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured