# GitHub Wiki MCP Server

GitHub Wikiのローカルクローンを[Model Context Protocol](https://github.com/cursor-io/model-context-protocol)対応サーバーとして提供するサービスです。Cursorエディタと連携して使用することを想定しています。

## 機能

- ローカルにクローンされたGitHub Wikiからコンテキスト情報を取得
- MCPプロトコルに準拠したAPIエンドポイントの提供
- クエリに基づいた関連Wiki情報の検索

## 必要条件

- Node.js 14以上
- ローカルにクローンされたGitHub Wikiリポジトリ

## インストール方法

### ローカルインストール

```bash
# リポジトリをクローン
git clone https://github.com/yourusername/github-wiki-mcp-server.git
cd github-wiki-mcp-server

# 依存関係をインストール
npm install
```

### グローバルインストール (npmから)

```bash
# npmからグローバルにインストール
npm install -g github-wiki-mcp-server
```

## 設定

`config/default.js`ファイルを編集して、GitHubのWikiパスなどを設定します。

```js
module.exports = {
  server: {
    port: process.env.PORT || 3333
  },
  wiki: {
    path: process.env.WIKI_PATH || './wiki' // ここを実際のWikiパスに変更
  },
  debug: process.env.DEBUG === 'true' || false
}
```

## 使用方法

### ローカルインストールの場合

#### 開発モード

```bash
npm run dev
```

#### 本番モード

```bash
npm start
```

### グローバルインストールの場合

```bash
# 基本的な起動
github-wiki-mcp

# ポート番号とWikiパスを指定して起動
github-wiki-mcp --port 4444 --wiki /path/to/your/wiki
```

### 環境変数での設定

```bash
# 環境変数を使用してポートとWikiパスを指定
PORT=4444 WIKI_PATH=/path/to/your/wiki github-wiki-mcp
```

## APIエンドポイント

### MCP Context API

```
POST /mcp
```

リクエスト例:

```json
{
  "query": "検索したい内容"
}
```

レスポンス例:

```json
{
  "contexts": [
    {
      "content": "# ページタイトル\n\nこのページの内容...",
      "source": "ページ名.md"
    }
  ]
}
```

### ヘルスチェック

```
GET /health
```

## Cursorとの連携方法

1. このサーバーを起動
2. Cursorの設定でMCPサーバーとして`http://localhost:3333/mcp`を指定

### Cursorの設定例（JSON）

```json
{
  "contextSources": {
    "externalServers": [
      {
        "name": "GitHub Wiki",
        "url": "http://localhost:3333/mcp",
        "enabled": true,
        "priority": 1
      }
    ]
  }
}
```

## npmパッケージとして公開する方法

1. package.jsonの情報を更新
2. npmにログイン

   ```bash
   npm login
   ```

3. パッケージを公開

   ```bash
   npm publish
   ```

## ライセンス

MIT 