Me MCP Server について
個人プロフィールや履歴書をAIクライアントから参照するためのDart製MCPサーバーです。情報をリソースとして公開し、設定した希望条件に沿う求職プロンプトも提供します。
主な機能
- 01履歴書テキストとPDF URLのリソース
- 02LinkedIn、GitHub、ウェブサイトのURL
- 03ウェブサイトHTMLの取得
- 04プロフィールに基づく求職プロンプト
- 05YAMLによる個人情報と求職条件の設定
活用シーン
- 01給与や勤務地の希望に沿った求職指示の作成
- 02クライアントへの履歴書とプロフィールURLの提供
- 03分析用の個人ウェブサイトコンテンツ取得
MCP 対応
履歴書やプロフィール情報をMCPリソースとして公開し、JobSearchプロンプトを提供します。MCPクライアント向けに、HTTP上のSSEトランスポートとstdioトランスポートをサポートします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Me MCP Server
あなたについて学び、あなたとやり取りするための MCP(Model Context Protocol)サーバーです。
機能
この MCP サーバーは、以下の機能を提供します。
プロンプト
- JobSearch - 指定した給与範囲、勤務地、企業タイプの希望に基づいて、あなたのプロフィールに合わせた求人検索の指示を生成します。
リソース
- 履歴書のテキスト - 履歴書の全文にアクセスします(
candidate-info://resume) - 履歴書の URL - 履歴書の PDF の URL を取得します(
candidate-info://resume-url) - LinkedIn プロフィールの URL - LinkedIn プロフィールにアクセスします(
candidate-info://linkedin-url) - GitHub プロフィールの URL - GitHub プロフィールにアクセスします(
candidate-info://github-url) - ウェブサイトの URL - 個人ウェブサイトの URL を取得します(
candidate-info://website-url) - ウェブサイトの内容 - ウェブサイトの HTML コンテンツを取得して分析します(
candidate-info://website-contents)
サーバーの起動
Docker の使用
サーバーを実行する最も簡単な方法は、Docker Compose を使用することです。
docker-compose up -d
これにより、サーバーがポート 3000 で起動します。
トランスポートの選択肢
この MCP サーバーは、2 種類のトランスポート方式をサポートしています。
SSE(Server-Sent Events)トランスポート
SSE トランスポートを使用すると、サーバーはサーバー送信イベントに対応したクライアントと HTTP 経由で通信できます。ウェブベースのクライアントや、HTTP 接続を確立できるクライアントに適しています。
SSE トランスポートでサーバーを起動するには、次のコマンドを実行します。
dart bin/sse_server.dart
SSE サーバーは、設定されたホストとポート(デフォルト:0.0.0.0:3000)で起動します。
Stdio トランスポート
Stdio トランスポートは、通信に標準入出力ストリームを使用します。MCP サーバーをサブプロセスとして起動する Claude Desktop などのデスクトップクライアントとの統合に適しています。
Stdio トランスポートでサーバーを起動するには、次のコマンドを実行します。
dart bin/stdio_server.dart
Claude Desktop の設定
Claude Desktop で MCP サーバーを使用するには、Claude の設定に以下を追加します。
{
"mcpServers": {
"me_mcp": {
"command": "dart",
"args": [
"path/to/bin/stdio_server.dart"
]
}
}
}
または、サーバーをスタンドアロンの実行可能ファイルにコンパイルできます。
dart compile exe bin/stdio_server.dart -o ./mcp_server
その後、コンパイルしたバージョンを使用するように Claude Desktop を設定します。
{
"mcpServers": {
"me_mcp": {
"command": "path/to/mcp_server"
}
}
}
設定
このサーバーでは、ハイブリッド方式で設定を管理します。
- サーバー設定 - 環境変数を使用して設定します
- 個人情報 -
me.yamlファイルを使用して設定します
環境変数
サーバー関連の設定は、環境変数を通じて行います。
| 変数 | 説明 | デフォルト |
|---|---|---|
| HOST | バインドするホストアドレス | 0.0.0.0 |
| PORT | リッスンするポート | 3000 |
| ENVIRONMENT | 環境(development、production) | development |
YAML 設定
個人情報と求人検索の希望は、me.yaml ファイルを通じて設定します。
設定の初期化
デフォルトの設定ファイルを作成するには、次のコマンドを実行します。
dart bin/me_init.dart [path]
これにより、編集可能なデフォルト値を含む me.yaml ファイルが生成されます(または指定したパスに生成されます)。
設定例
# Personal information
name: Jake Gaylor
resume_url: https://example.com/resume.pdf
website_url: https://jakegaylor.com
linkedin_url: https://linkedin.com/in/jakegaylor
github_url: https://github.com/jhgaylor
# Optional content (can be loaded from URLs above if not specified)
resume_text: |
Jake Gaylor
Software Engineer
Experience:
- Example Company (2020-Present)
Senior Software Engineer
Skills:
- Dart, JavaScript, TypeScript
- Cloud Infrastructure
website_text: "" # Will be fetched from website_url if empty
# Job search preferences
job_search:
min_salary: 150000
max_salary: 250000
location: Remote
company_type: Startup
industry: Technology
description: "Looking for senior engineering roles with focus on cloud infrastructure"
YAML 設定オプション
| セクション | オプション | 説明 | デフォルト |
|---|---|---|---|
| - | name | プロフィール/候補者の名前 | Jane Smith |
| - | resume_url | 履歴書の URL | https://example.com/resume.pdf |
| - | linkedin_url | LinkedIn プロフィールの URL | https://linkedin.com/in/example |
| - | github_url | GitHub プロフィールの URL | https://github.com/example |
| - | website_url | 個人ウェブサイトの URL | https://example.com |
| - | resume_text | 履歴書の全文 | 空の履歴書。 |
| job_search | min_salary | 求人検索の最低給与 | 100000 |
| job_search | max_salary | 求人検索の最高給与 | 500000 |
| job_search | location | 希望する勤務地 | リモート |
| job_search | company_type | 希望する企業タイプ | スタートアップ |
| job_search | industry | 希望する業界 | テクノロジー |
| job_search | description | 求人検索に関する追加情報 | "" |
型安全な設定(開発者向け)
YAML 設定は、強く型付けされた Dart オブジェクトに解析されます。
import 'package:me_mcp_server/me_mcp_server.dart';
// Create a configuration programmatically
final config = MeConfig(
name: 'Jane Smith',
resumeUrl: 'https://example.com/resume.pdf',
jobSearch: JobSearchConfig(
minSalary: 150000,
maxSalary: 250000,
location: 'Remote',
),
);
// Convert to YAML
final yamlString = configToYaml(config);
ローカルでの実行
サーバーをローカルで実行するには:
- Dart SDK 3.7.2 以降がインストールされていることを確認します
- 依存関係をインストールします:
dart pub get - ルートディレクトリに設定を記述した
me.yamlファイルを作成しますdart bin/me_init.dart - 必要に応じて環境変数を設定します
- お好みのトランスポートを使用してサーバーを実行します:
- SSE:
dart bin/sse_server.dart - Stdio:
dart bin/stdio_server.dart
- SSE:
開発
Docker イメージのビルド
docker build -t jhgaylor/me-mcp-server:local .
Docker イメージの実行
docker run -p 3000:3000 \
-v $(pwd)/me.yaml:/app/me.yaml \
-e PORT=3000 \
-e ENVIRONMENT=production \
jhgaylor/me-mcp-server:local
Docker の設定
Docker を使用する場合、次の操作ができます:
-
me.yamlファイルをマウントする:-v $(pwd)/me.yaml:/app/me.yaml -
環境変数を設定する:
-e HOST=0.0.0.0 -e PORT=3000 -e ENVIRONMENT=production -
docker-compose.yml を使用する:
services: mcp-server: volumes: - ./me.yaml:/app/me.yaml environment: - HOST=0.0.0.0 - PORT=3000 - ENVIRONMENT=production
デプロイ例
カスタムドメインへのデプロイ
この MCP サーバーを独自のドメインにデプロイできます。以下は、mcp.jakegaylor.com で実行するデプロイ例です:
- GitHub リポジトリ:jhgaylor/jakegaylor-com-mcp-server
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。