Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -794,7 +794,7 @@ Spin up an MCP documentation server from any Fumadocs site or any site with `llm

```bash
# Scaffold a new docs MCP server project
npx create-docs-mcp my-api-docs
npx -p @mcpframework/docs create-docs-mcp my-api-docs
cd my-api-docs

# Configure your docs site URL
Expand Down
6 changes: 3 additions & 3 deletions docs/docs-package/caching.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Caching

`@mcp-framework/docs` includes a built-in caching layer that reduces HTTP requests to your documentation site. All source adapters use caching automatically.
`@mcpframework/docs` includes a built-in caching layer that reduces HTTP requests to your documentation site. All source adapters use caching automatically.

## Default Cache

Expand All @@ -19,7 +19,7 @@ The default `MemoryCache` is an in-memory LRU (Least Recently Used) cache with T
### Configuration

```typescript
import { MemoryCache, LlmsTxtSource } from "@mcp-framework/docs";
import { MemoryCache, LlmsTxtSource } from "@mcpframework/docs";

const cache = new MemoryCache({
maxEntries: 200, // Default: 100
Expand Down Expand Up @@ -58,7 +58,7 @@ interface Cache {
### Example: Redis Cache

```typescript
import { Cache, CacheStats } from "@mcp-framework/docs";
import { Cache, CacheStats } from "@mcpframework/docs";
import { createClient } from "redis";

class RedisCache implements Cache {
Expand Down
10 changes: 5 additions & 5 deletions docs/docs-package/cli.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# CLI & Project Scaffolding

`@mcp-framework/docs` includes a CLI tool that scaffolds a ready-to-run documentation MCP server project.
`@mcpframework/docs` includes a CLI tool that scaffolds a ready-to-run documentation MCP server project.

## Creating a Project

```bash
npx create-docs-server my-api-docs
npx -p @mcpframework/docs create-docs-mcp my-api-docs
```

This creates a project with the following structure:
Expand All @@ -14,7 +14,7 @@ This creates a project with the following structure:
my-api-docs/
├── src/
│ └── index.ts # Pre-configured DocsServer with FumadocsRemoteSource
├── package.json # Dependencies on mcp-framework + @mcp-framework/docs
├── package.json # Dependencies on mcp-framework + @mcpframework/docs
├── tsconfig.json # TypeScript configuration
├── .env.example # DOCS_BASE_URL, optional DOCS_API_KEY
├── .gitignore
Expand All @@ -26,7 +26,7 @@ my-api-docs/
### `src/index.ts`

```typescript
import { DocsServer, FumadocsRemoteSource } from "@mcp-framework/docs";
import { DocsServer, FumadocsRemoteSource } from "@mcpframework/docs";

const source = new FumadocsRemoteSource({
baseUrl: process.env.DOCS_BASE_URL || "https://docs.example.com",
Expand Down Expand Up @@ -109,7 +109,7 @@ Add to MCP settings:
The package includes a `SKILL.md.template` that you can customize to teach Claude Code how to approach integrations against your API. Copy it into your project:

```bash
cp node_modules/@mcp-framework/docs/SKILL.md.template SKILL.md
cp node_modules/@mcpframework/docs/SKILL.md.template SKILL.md
# Edit SKILL.md with your API-specific patterns
```

Expand Down
8 changes: 4 additions & 4 deletions docs/docs-package/custom-adapters.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
DocSearchResult,
DocSection,
DocSearchOptions,
} from "@mcp-framework/docs";
} from "@mcpframework/docs";

class MyCustomSource implements DocSource {
name = "my-custom-docs";
Expand Down Expand Up @@ -95,7 +95,7 @@ class MyCustomSource implements DocSource {
## Using Your Custom Source

```typescript
import { DocsServer } from "@mcp-framework/docs";
import { DocsServer } from "@mcpframework/docs";

const source = new MyCustomSource();

Expand All @@ -113,7 +113,7 @@ server.start();
If your site publishes `llms.txt` but also has a custom search API, extend `LlmsTxtSource` instead of implementing from scratch:

```typescript
import { LlmsTxtSource, DocSearchResult, DocSearchOptions } from "@mcp-framework/docs";
import { LlmsTxtSource, DocSearchResult, DocSearchOptions } from "@mcpframework/docs";

class MyEnhancedSource extends LlmsTxtSource {
override get name(): string {
Expand Down Expand Up @@ -160,7 +160,7 @@ import {
DocFetchError,
DocParseError,
DocNotFoundError,
} from "@mcp-framework/docs";
} from "@mcpframework/docs";

class MySource implements DocSource {
async getPage(slug: string): Promise<DocPage | null> {
Expand Down
4 changes: 2 additions & 2 deletions docs/docs-package/fumadocs-setup.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Fumadocs Setup Guide

This guide explains how to configure your [Fumadocs](https://fumadocs.vercel.app/) documentation site to work with `@mcp-framework/docs`.
This guide explains how to configure your [Fumadocs](https://fumadocs.vercel.app/) documentation site to work with `@mcpframework/docs`.

## Prerequisites

Expand Down Expand Up @@ -72,7 +72,7 @@ curl "https://docs.yoursite.com/api/search?query=getting+started"
## Step 4: Create Your MCP Server

```bash
npx create-docs-server my-api-docs
npx -p @mcpframework/docs create-docs-mcp my-api-docs
cd my-api-docs
```

Expand Down
14 changes: 7 additions & 7 deletions docs/docs-package/overview.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# @mcp-framework/docs Overview
# @mcpframework/docs Overview

`@mcp-framework/docs` is a companion package that lets API providers spin up an MCP documentation server from their existing documentation site. Developers connect from Claude Code, Cursor, or any MCP client and get tools to search, browse, and retrieve documentation — enabling AI agents to write correct integration code on the first try.
`@mcpframework/docs` is a companion package that lets API providers spin up an MCP documentation server from their existing documentation site. Developers connect from Claude Code, Cursor, or any MCP client and get tools to search, browse, and retrieve documentation — enabling AI agents to write correct integration code on the first try.

## How It Works

Expand All @@ -9,7 +9,7 @@ The package provides:
1. **Source Adapters** — connect to your documentation backend (Fumadocs, any site with `llms.txt`)
2. **MCP Tools** — `search_docs`, `get_page`, `list_sections` that AI agents can call
3. **DocsServer** — a convenience wrapper that wires everything together
4. **CLI Scaffolder** — `npx create-docs-server my-api-docs` to generate a project in seconds
4. **CLI Scaffolder** — `npx -p @mcpframework/docs create-docs-mcp my-api-docs` to generate a project in seconds

```
Your Docs Site MCP Client (Claude Code, Cursor, etc.)
Expand All @@ -27,7 +27,7 @@ Your Docs Site MCP Client (Claude Code, Cursor, etc.)
## Quick Start

```typescript
import { DocsServer, FumadocsRemoteSource } from "@mcp-framework/docs";
import { DocsServer, FumadocsRemoteSource } from "@mcpframework/docs";

const source = new FumadocsRemoteSource({
baseUrl: "https://docs.myapi.com",
Expand All @@ -45,7 +45,7 @@ server.start();
Or scaffold a complete project:

```bash
npx create-docs-server my-api-docs
npx -p @mcpframework/docs create-docs-mcp my-api-docs
cd my-api-docs
cp .env.example .env
# Edit .env with your docs site URL
Expand All @@ -54,11 +54,11 @@ npm run build && npm start

## Relationship to mcp-framework

`@mcp-framework/docs` is a **consumer** of mcp-framework, not a fork. It imports `MCPTool` from mcp-framework and composes pre-built documentation tools on top of it. This keeps the core framework general-purpose while giving docs-server users a turnkey experience.
`@mcpframework/docs` is a **consumer** of mcp-framework, not a fork. It imports `MCPTool` from mcp-framework and composes pre-built documentation tools on top of it. This keeps the core framework general-purpose while giving docs-server users a turnkey experience.

```
mcp-framework (peer dependency)
└── @mcp-framework/docs
└── @mcpframework/docs
├── DocSource interface
├── Pre-built tools (SearchDocs, GetPage, ListSections)
├── DocsServer convenience class
Expand Down
2 changes: 1 addition & 1 deletion docs/docs-package/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
## Basic Usage

```typescript
import { DocsServer, FumadocsRemoteSource } from "@mcp-framework/docs";
import { DocsServer, FumadocsRemoteSource } from "@mcpframework/docs";

const source = new FumadocsRemoteSource({
baseUrl: "https://docs.myapi.com",
Expand Down
6 changes: 3 additions & 3 deletions docs/docs-package/sources.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Source Adapters

Source adapters are the central abstraction in `@mcp-framework/docs`. Every documentation backend implements the `DocSource` interface, and all tools interact through it — never touching HTTP or filesystem directly.
Source adapters are the central abstraction in `@mcpframework/docs`. Every documentation backend implements the `DocSource` interface, and all tools interact through it — never touching HTTP or filesystem directly.

## DocSource Interface

Expand All @@ -23,7 +23,7 @@ Purpose-built for [Fumadocs](https://fumadocs.vercel.app/) sites. Leverages the
### Configuration

```typescript
import { FumadocsRemoteSource } from "@mcp-framework/docs";
import { FumadocsRemoteSource } from "@mcpframework/docs";

const source = new FumadocsRemoteSource({
baseUrl: "https://docs.myapi.com", // Required
Expand Down Expand Up @@ -68,7 +68,7 @@ Search is performed locally by splitting `llms-full.txt` into page blocks and sc
### Configuration

```typescript
import { LlmsTxtSource } from "@mcp-framework/docs";
import { LlmsTxtSource } from "@mcpframework/docs";

const source = new LlmsTxtSource({
baseUrl: "https://docs.myapi.com",
Expand Down
6 changes: 3 additions & 3 deletions docs/docs-package/tools.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Documentation Tools

`@mcp-framework/docs` provides three MCP tools that extend `MCPTool` from mcp-framework. Each tool uses Zod schemas with mandatory `.describe()` on all fields.
`@mcpframework/docs` provides three MCP tools that extend `MCPTool` from mcp-framework. Each tool uses Zod schemas with mandatory `.describe()` on all fields.

## search_docs

Expand Down Expand Up @@ -125,8 +125,8 @@ With `section: "Authentication"`:
You can use the tool classes directly without DocsServer:

```typescript
import { SearchDocsTool, GetPageTool, ListSectionsTool } from "@mcp-framework/docs";
import { LlmsTxtSource } from "@mcp-framework/docs/sources";
import { SearchDocsTool, GetPageTool, ListSectionsTool } from "@mcpframework/docs";
import { LlmsTxtSource } from "@mcpframework/docs/sources";

const source = new LlmsTxtSource({ baseUrl: "https://docs.example.com" });

Expand Down
2 changes: 1 addition & 1 deletion packages/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ server.start();
Or scaffold a project instantly:

```bash
npx create-docs-mcp my-api-docs
npx -p @mcpframework/docs create-docs-mcp my-api-docs
```

## Sources
Expand Down
2 changes: 1 addition & 1 deletion packages/docs/src/cli/create-docs-mcp.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ async function main() {
console.error('Usage: create-docs-mcp <project-name>');
console.error('');
console.error('Example:');
console.error(' npx create-docs-mcp my-api-docs');
console.error(' npx -p @mcpframework/docs create-docs-mcp my-api-docs');
process.exit(1);
}

Expand Down
2 changes: 1 addition & 1 deletion packages/docs/src/cli/create-docs-server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ async function main() {
console.error('Usage: create-docs-server <project-name>');
console.error('');
console.error('Example:');
console.error(' npx create-docs-server my-api-docs');
console.error(' npx -p @mcpframework/docs create-docs-mcp my-api-docs');
process.exit(1);
}

Expand Down
2 changes: 1 addition & 1 deletion packages/docs/src/cli/template/README.md.template
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# {{PROJECT_NAME}}

MCP documentation server powered by [@mcp-framework/docs](https://www.npmjs.com/package/@mcp-framework/docs).
MCP documentation server powered by [@mcpframework/docs](https://www.npmjs.com/package/@mcpframework/docs).

## Setup

Expand Down
2 changes: 1 addition & 1 deletion packages/docs/src/cli/template/index.ts.template
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DocsServer, FumadocsRemoteSource } from "@mcp-framework/docs";
import { DocsServer, FumadocsRemoteSource } from "@mcpframework/docs";

const source = new FumadocsRemoteSource({
baseUrl: process.env.DOCS_BASE_URL || "https://docs.example.com",
Expand Down
2 changes: 1 addition & 1 deletion packages/docs/src/cli/template/package.json.template
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"dev": "tsc --watch"
},
"dependencies": {
"@mcp-framework/docs": "^0.1.0",
"@mcpframework/docs": "^0.1.0",
"mcp-framework": "^0.2.18",
"@modelcontextprotocol/sdk": "^1.11.0"
},
Expand Down