Skip to main content
Glama
sor4chi

Meta Kaggle MCP Server

by sor4chi
README.md
# Meta Kaggle MCP Server

Meta Kaggleデータセットから特定のコンペ名やキーワードでデータを検索し、Discussionや大会情報を取得できるMCPサーバーです。

## 機能

このMCPサーバーは以下の機能を提供します:

### 🔍 コンペティション検索

- コンペティション名やキーワードで検索
- 詳細情報の取得(期限、参加者数、提出数など)

### 💬 Discussion検索

- フォーラムトピックの検索
- 特定のコンペティションのDiscussion検索
- メッセージ一覧の取得

### 👥 ユーザー検索

- ユーザー名での検索
- ユーザー情報の表示

### 🏛️ フォーラム情報

- コンペティションのフォーラム情報取得

## 利用可能なツール

### 1. `search_competitions`

コンペティション名やキーワードでコンペティションを検索します。

**パラメータ:**

- `query` (必須): 検索クエリ(コンペティション名やキーワード)
- `limit` (オプション): 結果の最大件数(デフォルト: 10)

**例:**

```json
{
  "query": "titanic",
  "limit": 5
}
```

### 2. `get_competition_details`

特定のコンペティションの詳細情報を取得します。

**パラメータ:**

- `competition_id` (必須): コンペティションID

**例:**

```json
{
  "competition_id": "3136"
}
```

### 3. `search_discussions`

Discussion(フォーラムトピック)を検索します。

**パラメータ:**

- `query` (必須): 検索クエリ(トピックタイトルやメッセージ内容)
- `competition_id` (オプション): 特定のコンペティションのDiscussionのみ検索
- `limit` (オプション): 結果の最大件数(デフォルト: 10)

**例:**

```json
{
  "query": "cross validation",
  "limit": 5
}
```

### 4. `get_discussion_messages`

特定のDiscussionのメッセージ一覧を取得します。

**パラメータ:**

- `topic_id` (必須): フォーラムトピックID
- `limit` (オプション): 結果の最大件数(デフォルト: 20)

**例:**

```json
{
  "topic_id": "19389",
  "limit": 10
}
```

### 5. `search_users`

ユーザー名でユーザーを検索します。

**パラメータ:**

- `query` (必須): 検索クエリ(ユーザー名)
- `limit` (オプション): 結果の最大件数(デフォルト: 10)

**例:**

```json
{
  "query": "goldbloom",
  "limit": 5
}
```

### 6. `get_competition_forums`

特定のコンペティションのフォーラム情報を取得します。

**パラメータ:**

- `competition_id` (必須): コンペティションID

**例:**

```json
{
  "competition_id": "3136"
}
```

## セットアップ

### 1. 依存関係のインストール

```bash
uv sync
```

### 2. MCPサーバーの実行

```bash
uv run mcp_server.py
```

### 3. テストの実行

```bash
uv run test_server.py
```

## MCPクライアントでの設定

MCPクライアント(例:Claude Desktop)でこのサーバーを使用するには、設定ファイルに以下を追加してください:

```json
{
  "mcpServers": {
    "meta-kaggle": {
      "command": "uv",
      "args": ["run", "main.py"],
      "cwd": "/path/to/meta-kaggle"
    }
  }
}
```

## データセット

このサーバーは以下のMeta Kaggleデータセットを使用します:

- `Competitions.csv` - コンペティション情報
- `Forums.csv` - フォーラム情報
- `ForumTopics.csv` - フォーラムトピック
- `ForumMessages.csv` - フォーラムメッセージ
- `Users.csv` - ユーザー情報

`datasets`ディレクトリに展開して配置してください。

## 使用例

### コンペティション検索

「titanic」で検索すると、Titanic関連のコンペティションが表示されます。

### Discussion検索

「cross validation」で検索すると、クロスバリデーションに関するDiscussionが表示されます。

### ユーザー検索

「goldbloom」で検索すると、Goldbloom姓のユーザーが表示されます。

## 注意事項

- データセットの読み込みには時間がかかる場合があります
- 大きなデータセットのため、メモリ使用量にご注意ください
- 検索結果は最大件数で制限されます