GitHub stars
18,317
on GitHub
DocsGPT gives every agent an OpenAI-compatible API, an MCP server for Claude, Cursor and other AI clients, and open-source chat and search widgets, with Telegram, Discord, Slack and Chatwoot bots on top. Put your private RAG backend into your product, your docs or your support desk.
/v1/chat/completions · /mcp · npm install docsgpt · access tokens
Last updated:
Anything that already speaks OpenAI can talk to your agents by changing one URL.
Each agent is reachable at /v1/chat/completions with its own API key. The OpenAI SDKs, opencode, Aider and LibreChat work by changing the base URL; the key decides which agent, prompt, sources and model answer.
Send files and images in the messages, set sampling parameters or keep the agent's defaults, and get back the token usage and the model that answered, including when a fallback model stepped in.
# drop-in for the OpenAI SDK: change base_url and the key
from openai import OpenAI
client = OpenAI(
base_url="https://docsgpt.example.com/v1",
api_key=AGENT_API_KEY,
)
stream = client.chat.completions.create(
# required by the SDK; the key decides which agent answers
model="docsgpt-agent",
messages=[{"role": "user", "content": "Summarise the Q3 security review"}],
stream=True,
)
for chunk in stream:
print(chunk.choices[0].delta.content or "", end="")Your coding assistant searches your company's knowledge without leaving the editor.
DocsGPT runs an MCP server, so Claude Code, Cursor and any other MCP client can search an agent's knowledge with the search_docs tool and answer from what it finds.
It authenticates with the agent's API key, so the client sees only the sources that agent uses, and every search is recorded in the agent's traces. Here DocsGPT is the server; when DocsGPT calls your MCP servers instead, see connectors.
# Claude Code: add DocsGPT as an MCP server
claude mcp add --transport http docsgpt \
https://docsgpt.example.com/mcp \
--header "Authorization: Bearer $AGENT_API_KEY"Everything the app does is in the API, and scripts get their own scoped tokens.
Agents answer and stream over the native API, with citations, and the Search API returns the passages on their own. Webhooks let other systems trigger an agent, realtime events keep a client up to date, and a turn that needs approval can pause and resume over the API.
Personal access tokens let scripts, the CLI and CI pipelines act on your account: each is scoped to what it may do, can be limited to specific resources and expires when you say. With docsgpt-cli, agents become YAML you review and apply from CI. Every instance serves its own REST reference.

A chat widget and a search bar for your docs or product, from one npm package.
The chat widget is a React or plain-HTML component published on npm as docsgpt, themable to your site. Visitors can attach files and ask by voice, and every answer lists its sources. The same package exports a search bar with voice search that finds the right page and hands off to the chat with "Ask the AI".
Both are open source under MIT, talk only to the instance you configure and use a per-agent key, so a public docs site can expose a read-only agent while internal agents stay behind SSO. Building a product on the API? See for AI product builders.
# chat widget + search bar, one MIT package
npm install docsgpt
// React: see the chat-widget docs for all props
import { DocsGPTWidget } from "docsgpt";
<DocsGPTWidget
apiHost="https://docsgpt.example.com"
apiKey="…"
showMicButton
/>
Four supported channels; everything else through the API.
Bots relay questions from a chat platform to an agent on your instance and post the cited answer back. They need outbound access to that platform, so they are not for air-gapped estates.
| What it does | Outbound access | Where it lives | |
|---|---|---|---|
| Telegram bot | Streams answers into chats, groups and forum topics, with file and voice input and the files your agent produces | Yes, to the Telegram API | arc53/tg-bot-docsgpt-extenstion · MIT |
| Discord bot | Answers direct messages and channel mentions, keeping the conversation for follow-ups | Yes, to the Discord API | arc53/discord-docsgpt-extension · MIT |
| Slack bot | Answers mentions and direct messages in threads; several agents per workspace | Yes, to the Slack API, Socket Mode | arc53/slack-bot-docsgpt-extenstion · MIT |
| Chatwoot extension | Answers inside a Chatwoot support desk | Reachability to your Chatwoot | Built into DocsGPT · MIT |
Other systems connect through the API or webhooks.
The API, the MCP server, the widgets and the bots talk only to your instance URL; no Arc53 service sits in the path on Managed, On-premises or Air-gapped deployments. The Telegram, Discord and Slack bots need outbound access to those platforms, so they are for connected estates, not air-gapped ones. An air-gapped instance still serves the API, the MCP server and the widgets inside the network.
Every deployment posture includes the API and widgets at no extra charge; see pricing. Teams comparing this with building a RAG backend in-house get the retrieval, citations and agents behind one endpoint.
A developer-tools company adds the chat widget to its public documentation with a read-only agent over the docs and changelog. The same agent answers the in-app help panel through /v1/chat/completions, its engineers search it from Cursor over MCP, and a webhook files a summary into the ticketing system when a conversation is escalated.
GitHub stars
18,317
on GitHub
Licence
MIT
platform and widgets
Widget package
docsgpt
npm
Named channels
4
Telegram · Discord · Slack · Chatwoot
A 30-minute demo of the API, MCP server and widgets on your documents, or self-host and call the endpoint today.