Bucketeer Docs Local MCP Server

Bucketeer Docs Local MCP Server

Enables AI assistants to search and retrieve content from Bucketeer's feature flag and experimentation documentation for accurate information.

Category
访问服务器

README

Bucketeer Docs Local MCP Server

Overview

This project provides a Model Context Protocol (MCP) server for Bucketeer documentation. It offers an interface for searching and retrieving content from Bucketeer's feature flag and experimentation platform documentation, enabling AI assistants to provide accurate information about Bucketeer's features and usage.

Environment Setup

Requirements

  • Node.js 18+
  • npm

Installation Steps

  1. Clone the repository:
git clone <repository-url>
cd bucketeer-docs-local-mcp-server
  1. Install dependencies:
npm install
  1. Build the project:
npm run build
  1. Build the document index:
npm run build:index

Starting the Server

npm start

Document Sources

The server automatically fetches and indexes documentation from the bucketeer-io/bucketeer-docs repository:

  • GitHub Repository Integration:

    • Automatically fetches .mdx files from the docs/ directory and all subdirectories
    • Processes frontmatter and markdown content for optimal search indexing
    • Caches fetched content using SHA hashes and only updates when files are modified
    • Supports recursive directory traversal to capture all documentation files
  • Intelligent Indexing:

    • Extracts keywords from titles, descriptions, headers, and content
    • Builds searchable index with relevance scoring based on keyword matches and full-text search
    • Optimized for Bucketeer-specific terminology (feature flags, experiments, SDKs, targeting, etc.)
    • Handles frontmatter extraction (title, description) from MDX files
  • Cache Management:

    • Files are cached locally in files/docs/ directory as JSON files
    • Document index is stored in files/index/document-index.json
    • GitHub cache stored in files/docs/github_cache.json with SHA-based change detection
    • Use npm run build:index:force to force rebuild the entire index

Using with npx

First-time Setup

  1. Build the document index:
npx @bucketeer/docs-local-mcp-server build-index
  1. Use in your MCP configuration as shown in the next section.

Updating the Index

To update the documentation index (e.g., when new documentation is available):

npx @bucketeer/docs-local-mcp-server build-index --force

Cursor and Claude Desktop Configuration

Configure the MCP Server by adding the following to your mcp.json or claude_desktop_config.json file, referring to the documentation for Cursor (https://docs.cursor.com/context/model-context-protocol#configuring-mcp-servers) and Claude Desktop (https://modelcontextprotocol.io/quickstart/user):

Quick Install with Cursor Deeplink

For Cursor users, you can install the MCP server with a single click using the deeplink below:

Install MCP Server

This will automatically configure the MCP server in your Cursor settings. After clicking the link, Cursor will prompt you to install the server.

Option 1: Using npx (Recommended)

{
  "mcpServers": {
    "bucketeer-docs": {
      "type": "stdio",
      "command": "npx",
      "args": ["@bucketeer/docs-local-mcp-server"]
    }
  }
}

Option 2: Using local installation

{
  "mcpServers": {
    "bucketeer-docs": {
      "type": "stdio",
      "command": "npm",
      "args": ["start", "--prefix", "/path/to/bucketeer-docs-local-mcp-server"]
    }
  }
}

Usage

When the MCP server is running, the following tools are available:

1. search_docs - Search Bucketeer Documentation

  • Parameter: query (string) - The search query
  • Parameter: limit (number, optional) - Maximum number of results to return (default: 5)

Example:

{
  "name": "search_docs",
  "arguments": {
    "query": "feature flags SDK integration",
    "limit": 5
  }
}

Response: Returns an array of search results with title, URL, path, description, excerpt, and relevance score.

2. get_document - Get Specific Document Content

  • Parameter: path (string) - Document path obtained from search results

Example:

{
  "name": "get_document",
  "arguments": {
    "path": "getting-started/create-feature-flag"
  }
}

Response: Returns the full document content including title, description, URL, and complete markdown content.

Development Commands

  • npm run build - Compile TypeScript files to dist/ directory
  • npm run build:index - Build/update the document index from GitHub repository
  • npm run build:index:force - Force rebuild the entire index (ignores cache)
  • npx @bucketeer/docs-local-mcp-server build-index - Build index using npx
  • npx @bucketeer/docs-local-mcp-server build-index --force - Force rebuild index using npx
  • npm run dev:index - Build and update index in development mode
  • npm run dev - Build and start server in development mode
  • npm run lint - Run Biome linting
  • npm run lint:fix - Run Biome linting and fix linting errors

Configuration

The server is configured via src/config/index.ts:

  • siteName: "Bucketeer"
  • websiteUrl: "https://docs.bucketeer.io"
  • githubRepo: "https://github.com/bucketeer-io/bucketeer-docs"
  • docsDirectory: "docs" (directory in GitHub repo containing documentation)
  • searchLimitDefault: 5 (default number of search results)
  • useGithubSource: true (always uses GitHub as source)

File Structure

files/
├── docs/           # Cached JSON files from GitHub repository
├── index/          # Document search index
│   └── document-index.json
└── [created automatically when building index]

Architecture

The server consists of several key components:

  1. GithubDocumentFetcher: Recursively fetches .mdx files from the GitHub repository
  2. IndexManager: Builds and manages the searchable document index
  3. SearchService: Provides search functionality with keyword matching and full-text search
  4. MCP Server: Exposes tools via the Model Context Protocol

License

Apache License 2.0, see LICENSE.

Contributing

We would ❤️ for you to contribute to Bucketeer and help improve it! Anyone can use and enjoy it!

Please follow our contribution guide here.

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选