Context7
Up-to-date docs for AI agents
제작자가 쓴 설명(영어 원문)
Search an Octri project's API docs and call its endpoints as tools, shaped by its SDK Studio config.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
OCTRI_PROJECT_ID, OCTRI_API_BASE_URL, OCTRI_API_TOKEN, OCTRI_API_KEY, OCTRI_API_KEY_HEADER, OCTRI_API_USERNAME, OCTRI_API_PASSWORD비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
링크는 제작자의 파일로 바로 연결돼요. 우리가 보관하거나 다시 패키징하지 않아요. 파일을 열면 Claude Desktop이 설치해요.
터미널에서 이 명령어를 실행하세요
claude mcp add octri --env OCTRI_PROJECT_ID=your-value --env OCTRI_API_BASE_URL=your-value --env OCTRI_API_TOKEN=your-value --env OCTRI_API_KEY=your-value --env OCTRI_API_KEY_HEADER=your-value --env OCTRI_API_USERNAME=your-value --env OCTRI_API_PASSWORD=your-value -- npx -y @octri/mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"octri": {
"command": "npx",
"args": [
"-y",
"@octri/mcp"
],
"env": {
"OCTRI_PROJECT_ID": "your-value",
"OCTRI_API_BASE_URL": "your-value",
"OCTRI_API_TOKEN": "your-value",
"OCTRI_API_KEY": "your-value",
"OCTRI_API_KEY_HEADER": "your-value",
"OCTRI_API_USERNAME": "your-value",
"OCTRI_API_PASSWORD": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"octri": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@octri/mcp"
],
"env": {
"OCTRI_PROJECT_ID": "your-value",
"OCTRI_API_BASE_URL": "your-value",
"OCTRI_API_TOKEN": "your-value",
"OCTRI_API_KEY": "your-value",
"OCTRI_API_KEY_HEADER": "your-value",
"OCTRI_API_USERNAME": "your-value",
"OCTRI_API_PASSWORD": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
OCTRI_API_BASE_URL envOCTRI_API_KEY_HEADER envOCTRI_API_USERNAME env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 도메인 octri.dev 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: OCTRI_PROJECT_ID, OCTRI_API_TOKEN, OCTRI_API_KEY, OCTRI_API_PASSWORD
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.4.2)은 3일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js, MCPB도 있어야 해요.
같은 카테고리에는: Context7, Codebase Memory, Exa
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
An MCP server that turns your API documentation into tools an AI assistant can call. Claude, Cursor, VS Code Copilot, and any other MCP client can search your endpoints, open a guide, pull a ready-to-use SDK snippet in any supported language, and check the changelog for breaking changes, all from the same OpenAPI spec your docs are built from.
Octri turns an OpenAPI spec into a documentation site, client SDKs for ten languages, an MCP server your AI assistant can call, and monitoring for the API behind them. This package is the MCP server. See octri.dev/mcp.
Node 20 or newer. Runs over stdio for a local client, or Streamable HTTP when you host it.
Operation bodies use documented media type. For multipart or binary values, pass files only as bounded inline descriptor: { "filename": "report.csv", "content": "base64...", "contentType": "text/csv" }. Paths and URLs are intentionally unsupported.
Explicit URL-encoded deepObject fields with explode: true use bracketed wire keys, including nested objects and arrays. This covers APIs such as Stripe that mark fields like invoice_settings and tax_id_data as deepObject.
npx -y @octri/mcp
Most clients are configured with that command, so a global install is optional. The Installation section below has the exact config block for each one.
Or install it in one click. VS Code asks for your project ID; Cursor writes YOUR_PROJECT_ID into its mcp.json for you to replace.
Listed in the official MCP Registry as dev.octri/mcp.
| Tool | Description |
|---|---|
search_docs | Search the API documentation for an endpoint or concept |
get_endpoint | Get full documentation for a specific API endpoint |
list_endpoints | List all available API endpoints, optionally filtered by section |
get_changelog | Get recent API changes and breaking changes |
list_sdks | List the available SDK client libraries (languages, versions, download links) |
get_guide | Get the full content of a written guide by its slug |
get_sdk_methods | Get ready-to-use SDK code snippets for each endpoint in every supported language |
One click: download octri-mcp- .mcpb from the latest release and open it. Claude Desktop installs the server and asks for the project ID and the API's credentials, keeping secrets in the system keychain. No Node install, no config file.
Or by hand: add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "my-api-docs": { "command": "npx", "args": ["@octri/mcp", "--project-id", "YOUR_PROJECT_ID"] } } }
Add to .cursor/mcp.json in your project root (or ~/.cursor/mcp.json globally):
{
"mcpServers": { "my-api-docs": { "command": "npx", "args": ["@octri/mcp"], "env": { "OCTRI_PROJECT_ID": "YOUR_PROJECT_ID" } } } }
Add to .vscode/mcp.json:
{
"servers": { "my-api-docs": { "type": "stdio", "command": "npx", "args": ["@octri/mcp", "--project-id", "YOUR_PROJECT_ID"] } } }
| Variable | Required | Default | Description |
|---|---|---|---|
OCTRI_PROJECT_ID | Yes* | None | The project to connect to. Can also be set via --project-id CLI flag. |
OCTRI_GROUP | No | None | Serve only one tool group the project owner published (for example billing). Can also be set via --group. A group the project does not have serves no tools. |
OCTRI_SKIP_PROMPTS | No | None | Prompts to leave out, by name, comma-separated. Can also be set via --skip-prompts. The project's Claude Code plugin sets it for the prompts it already ships as slash commands, so each shows once. |
OCTRI_API_URL | No | https://api.octri.dev/api/v1 | Override the API base URL for local development or an authorized private test endpoint. Hosted Octri self-hosting is not available. |
MCP_TRANSPORT | No | stdio | http for remote hosting (Streamable HTTP), or sse for the legacy transport. |
PORT | No | 3000 | HTTP port for the http and sse transports. |
MCP_HOST | No | 127.0.0.1 | Interface to bind. Widening it requires MCP_AUTH_TOKEN. |
MCP_ALLOWED_ORIGINS | No | None | Comma-separated browser origins allowed to reach an HTTP transport. |
MCP_AUTH_TOKEN | When MCP_HOST is not loopback | None | Bearer token every HTTP request must send as Authorization: Bearer . |
\* Required unless every tool call passes projectId explicitly.
Operation tools call your real API, and these supply its credentials:
| Variable | Description |
|---|---|
OCTRI_API_BASE_URL | Target API base for operation calls (falls back to the studio's Base URL). |
OCTRI_API_TOKEN | Bearer / OAuth2 token. |
OCTRI_API_KEY (+ OCTRI_API_KEY_HEADER) | API-key value, and the header it goes in (default X-API-Key). |
OCTRI_API_USERNAME / OCTRI_API_PASSWORD | Basic-auth credentials. |
All of these are sent as HTTP headers. An API that takes its credentials in the request *body* instead (Plaid's client_id and secret, for example) is not served by them: those are ordinary body fields, so they appear as tool arguments and the agent passes them like any other field. Setting OCTRI_API_KEY for such an API adds a header it ignores.
The project owner sets every operation tool to run on its own, ask first, or off, and publishes that from the MCP page. Reads run on their own by default and everything else asks first. An "ask first" call is shown to the user through MCP elicitation (Claude Code 2.1.76+, VS Code) with its method, URL and body, and is sent only on approval. A client that cannot ask is refused the call instead.
These narrow what the owner allowed. Only ALLOW widens anything, and nothing brings back a tool the owner turned off:
| Variable | Flag | Effect |
|---|---|---|
OCTRI_READ_ONLY=1 | --read-only | List and run only tools that read. |
OCTRI_DENY_TOOLS=a,b | --deny-tools a,b | Never list or run these tools. Matches a tool's name, its endpoint slug, or the name it had before the project owner renamed it. |
OCTRI_ALLOW_TOOLS=a,b | --allow-tools a,b | Run these "ask first" tools without asking (* for all). Matches a tool's current name or its endpoint slug; after a rename, an old name asks again. |
OCTRI_ALLOW_WRITES=1 | --allow-writes | Same as OCTRI_ALLOW_TOOLS=*. |
OCTRI_DRY_RUN=1 | --dry-run | Build each call and return it to the agent unsent. |
OCTRI_PRACTICE=1 | --practice | Practice mode: answer every call with fake data built from the API's documentation, keeping records the agent creates for the session. Nothing is sent and no credential is needed. The project's owner must turn practice mode on. |
A project owner can split the tools into groups, each served as its own MCP server, so a team connects only the tools a job needs. Pass --group (or set OCTRI_GROUP) to serve one. Inside a group every tool keeps the owner's permissions and the limits above: a group only takes tools away. Each group can also be reached hosted, at https://api.octri.dev/api/v1/public/mcp/ /g/ /mcp.
Each tool call reports its tool name, outcome, duration, tool group (when one is served) and the client's name to Octri, so the project owner can see which tools agents use. Arguments and responses are never sent. Set OCTRI_TELEMETRY=0 or pass --no-telemetry to turn it off.
Use Streamable HTTP (MCP_TRANSPORT=http), the transport the MCP spec has defined for remote servers since revision 2025-03-26 and the one a current client tries first:
docker build -t octri-mcp .
docker run -p 3000:3000 \ -e MCP_AUTH_TOKEN= \ -e OCTRI_PROJECT_ID=YOUR_PROJECT_ID \ octri-mcp
The image binds all interfaces, so it refuses to start without MCP_AUTH_TOKEN; clients send it as Authorization: Bearer . It runs as a non-root user, and GET /health answers a container or load balancer probe without the token.
It serves a single endpoint, /mcp. A client's first request opens a session and gets its id back in the mcp-session-id header; every later request carries it and reaches the same server. That is what lets a tool that asks first work: the approval prompt goes out in the middle of a call and the answer comes back on another request. Sessions idle for 30 minutes are closed. Behind more than one replica, route by mcp-session-id (sticky sessions). Point a remote MCP client at http://your-host:3000/mcp.
MCP_TRANSPORT=sse serves the older 2024-11-05 design, kept so existing deployments keep working. It exposes GET /sse to open a connection and POST /messages?sessionId= to relay client messages. Prefer http for anything new.
Both HTTP transports bind 127.0.0.1 by default and refuse any request whose Origin is not listed in MCP_ALLOWED_ORIGINS, or whose Host is not loopback. This server holds your API credentials, and any page the browser visits can reach a loopback port.
Widening MCP_HOST puts those credentials on the network, so the server then refuses to start without MCP_AUTH_TOKEN, and every request must send Authorization: Bearer . Configure the same header in your MCP client, and list browser origins explicitly.
npx -y @octri/mcp doctor --project-id YOUR_PROJECT_ID
Confirms the project and its tools load, the base URL and credentials are set, and makes one real read call, then says what to fix if anything fails. --no-call skips the call. Exits non-zero on a failure.
npx -y @octri/mcp login --project-id YOUR_PROJECT_ID
Asks for the API credential the project's scheme needs and saves it in your system keychain (macOS Keychain, Windows Credential Manager, or the Secret Service on Linux). Your MCP client's config then needs no OCTRI_API_* variable. A variable set in the config still wins. logout removes it.
The keychain store, @napi-rs/keyring, is an optional dependency. Where it cannot install or the system has no secret store, login says so and env variables work as before.
# Build
pnpm build
OCTRI_PROJECT_ID=my-project node dist/index.js
MCP_TRANSPORT=http OCTRI_PROJECT_ID=my-project node dist/index.js
MCP_TRANSPORT=sse OCTRI_PROJECT_ID=my-project node dist/index.js
The octri-mcp command is one host for the server core. createServer takes the tool source and everything else a host decides:
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요