AI Square Documentation MCP Server

AI Square Documentation MCP Server

Enables MCP clients to retrieve authoritative AI Square documentation, API references, SDK examples, guides, and troubleshooting information through citation-safe hybrid search and static resources.

Category
访问服务器

README

AI Square Documentation MCP Server

The official, documentation-first Model Context Protocol (MCP) service for AI Square. It is designed to let MCP-compatible clients retrieve authoritative AI Square documentation, API reference material, SDK examples, guides, and troubleshooting information with traceable citations.

Current status: Phase 8 complete. The repository can crawl and incrementally index the configured AI Square documentation scope, then serve citation-safe hybrid retrieval through ten read-only MCP documentation tools and eight static docs:// resources, as well as its internal API. Bounded TTL/LRU caches cover search outcomes, query embeddings, exact pages, and categories; Redis is an optional shared L2 backend for container and production deployments. Structured latency/error metrics and deterministic unit, integration, retrieval-quality, CLI, and Streamable HTTP MCP tests run in CI with an 80% coverage floor. Operator runbooks, deployment guidance, maintenance workflows, and troubleshooting are included below.

Design principles

  • Documentation is the source of truth; the server does not synthesize facts from model memory.
  • Every indexed chunk retains a stable source URL, document identity, structure, and filterable metadata.
  • Interfaces separate transports, application services, and infrastructure so providers can be replaced without changing MCP tools.
  • Configuration and secrets come from environment variables; no credentials are committed.
  • Async I/O, structured logs, health checks, and container-first operation are baseline concerns rather than later additions.

Architecture

See the architecture guide for the design and the executable Phase 1–8 boundaries.

MCP clients / internal callers
          │
          ├── MCP transport (stdio or Streamable HTTP)
          └── FastAPI internal API
                         │
                    application ports
                         │
 crawler → parser → structural chunker → embedding adapter → Qdrant
                                      └──────────────────→ PostgreSQL
                                                              │
 query ──► BM25 + dense search ──► reciprocal-rank fusion ──► reranker
                                                              │
                                                   cited, compact context

The FastAPI API is for operational and internal integrations. MCP transports are the public AI-client interface. They share application services but neither transport is allowed to depend directly on provider-specific indexing or future retrieval code.

Repository layout

app/
  api/             FastAPI application, routes, and HTTP contracts
  config/          Typed settings and logging configuration
  mcp/             Official MCP SDK host, public retrieval adapter, and transports
  models/          Shared domain models (expanded with later phases)
  services/        Application services for ingestion, indexing, and retrieval
  crawler/         Documentation acquisition (Phase 2)
  parser/          Structured document extraction (Phase 2)
  chunking/        Heading-aware document chunking (Phase 3)
  embeddings/      Provider-neutral embedding contracts and adapters (Phase 3)
  retrieval/       Hybrid retrieval and context building (Phase 4)
  database/        PostgreSQL metadata and Qdrant vector adapters (Phase 3)
  cache/           Bounded TTL/LRU cache, safe codecs, and optional Redis L2 (Phase 7)
tests/             Unit, integration, and transport tests
docs/              Architecture, engineering, and operator documentation
docker/            Container runtime support files
scripts/           Explicit operational commands (added as phases need them)

Quick start

Prerequisites: Python 3.12+, uv, Docker with Compose, and an embedding-provider API key for indexing.

# Run from the repository root.
cp .env.example .env
uv sync --all-groups
uv run aisquare-docs-api

The API is available at http://127.0.0.1:8000. Useful endpoints are:

  • GET /health/live — process liveness, with no downstream checks.
  • GET /health/ready — process/configuration readiness; it is degraded when local hybrid-search configuration is incomplete, while storage connectivity is verified by an index or retrieval run.
  • GET /api/v1/status — service and phase capability status.
  • POST /api/v1/index — incrementally index crawl artifacts through the internal API.
  • POST /api/v1/reindex — force a complete indexing pass through the internal API.
  • GET /api/v1/search — hybrid documentation search with filters and cited context.
  • GET /api/v1/page — exact indexed-page lookup by canonical URL.
  • GET /api/v1/examples — code-focused hybrid search.
  • GET /api/v1/categories — available indexed source categories.
  • GET /docs — OpenAPI documentation in development.

Run a respectful documentation crawl to create parsed artifacts:

uv run aisquare-docs-crawl

It writes deterministic structured JSON files and a run manifest under data/documents by default. Fetched HTML is used only in memory and is never written to an artifact. See the ingestion guide before changing crawl limits or the user agent.

To index the artifacts, put an embedding key in .env (for the default adapter, set AISQUARE_OPENAI_API_KEY), then start PostgreSQL and Qdrant and run the incremental indexer:

docker compose up -d postgres qdrant
uv run aisquare-docs-index
# or: make index

Use uv run aisquare-docs-index --force (or make reindex) to run a complete forced pass. Once PostgreSQL and Qdrant contain that index, the internal API can retrieve it with hybrid search. See the indexing guide for storage and re-indexing behavior, and the retrieval guide for search configuration and endpoint use.

For example, after indexing and starting the API:

curl -G http://127.0.0.1:8000/api/v1/search \
  --data-urlencode 'query=How do I authenticate?'

Set AISQUARE_REQUIRE_API_KEY=true and send X-API-Key outside a trusted local environment. The default Cohere reranking stage needs AISQUARE_COHERE_API_KEY; Voyage and Jina are selectable alternatives using their provider keys. Set AISQUARE_RERANKER_ENABLED=false to return deterministic RRF results without a reranker.

Run the MCP server over standard input/output for desktop MCP clients:

uv run aisquare-docs-mcp

Phase 5 exposes ten read-only documentation tools—search, exact page retrieval, API/reference, code/example, related-page, category, SDK, guide, and troubleshooting access—plus static docs:// resources for the main documentation areas. See the MCP usage guide for the complete tool/resource contract, aliases, and stdio or Streamable HTTP setup.

For containerized local dependencies and the API:

docker compose up --build

See development and configuration instructions for local setup and verified settings, the operations runbook for Docker and production deployment, and the MCP usage guide for client setup.

Documentation

Phase plan

  1. Foundation (complete): package, configuration, API/MCP hosts, Docker topology, logging, health checks, CI, and tests.
  2. Ingestion (complete): respectful sitemap/robots-aware crawler, structured parser, and durable raw-HTML-free JSON document artifacts.
  3. Indexing (complete): heading-aware chunks, provider-neutral embedding contracts, OpenAI embeddings, Qdrant vectors, PostgreSQL metadata, and incremental re-indexing.
  4. Retrieval (complete): BM25 + dense retrieval, reciprocal-rank fusion, metadata filters, optional reranking, and citation-preserving context through the internal API.
  5. MCP surface (complete): ten read-only documentation tools and static resources backed by the citation-safe retrieval service.
  6. Quality (complete): integration, retrieval-quality, CLI, and end-to-end Streamable HTTP MCP suites, with an enforced 80% coverage floor.
  7. Optimization (complete): bounded search/page/category/query-embedding caches, optional Redis L2 coherence and invalidation, cache metrics, and OpenTelemetry retrieval/embedding/error instrumentation.
  8. Operations documentation (complete): runbooks, deployment guidance, contribution workflows, and troubleshooting.

Security notes

Use a separate API key per environment. Bind internal HTTP endpoints to a private network in production and put Streamable HTTP MCP behind TLS and your identity provider. The project deliberately keeps OAuth and tenant context at the boundary so they can be introduced without rewriting retrieval services.

Never use .env files as an artifact or image layer, and rotate any key that has been exposed.

Contributing

uv run ruff check .
uv run black --check .
uv run mypy app
uv run pytest
uv run pytest -m retrieval_quality
uv run pytest -m mcp_e2e

See CONTRIBUTING.md for the full contribution workflow and docs/DEVELOPMENT.md for the coding, testing, and configuration conventions.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选