Personal DB MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Personal DB MCP Server generate a self-introduction for a software engineering interview"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Personal DB MCP Server
AIサービス横断で個人データをコンテキストとして提供する MCP サーバー。
なぜ必要か
AIに文章を書かせると、誰が書いても同じような出力になる。Personal DB は「自分」のデータ(経歴、スキル、価値観、エピソード、思考習慣など)を構造化して保持し、AIが動的に参照できるようにする。これにより、AIの出力に一貫した「自分らしさ」が乗る。
Related MCP server: Personal Context Technology MCP Server
ユースケース
AI のコンテキストとして使う(最も重要)
シーン | 何が起きるか |
質問への回答 | 「あなたの強みは?」→ DB のスキル・実績・エピソードから根拠付きで回答 |
文章・コンテンツ生成 | ブログ、SNS投稿、提案書などに自分の価値観・トーン・実績が自然に反映される |
執筆支援 | 小説・記事の著者としてのパーソナリティ(文体、思想、スタンス)を前提に載せる |
チャットボット | 自分の分身として応答するボットに、動的な個人データを注入 |
マルチエージェント | 複数の AI エージェントが同じ「自分」のデータを参照して協調動作 |
キャリア支援
プロンプト | 用途 |
| 対象ロール・企業に合わせた職務経歴書を生成 |
| 面接・カンファレンス・カジュアルなど場面に応じた自己紹介 |
| 求人票 (JD) に対するスキルマッチ分析 |
| 想定質問 + STAR形式の回答案 + 逆質問案 |
| 目標ロールとの差分分析 + 学習ロードマップ |
| テーマ・コンピテンシーに合うエピソード検索 |
データメンテナンス
プロンプト | 用途 |
| DB の空白を特定し、埋めるためのインタビュー質問を生成 |
セットアップ
環境変数
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
PERSONAL_DB_API_KEY= # マルチテナント時のみローカル (stdio)
npm install && npm run build
node dist/index.jsClaude Code で使う
.mcp.json または ~/.claude.json に追加:
{
"mcpServers": {
"personal-db": {
"type": "stdio",
"command": "node",
"args": ["/path/to/personal-db-mcp/dist/index.js"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"
}
}
}
}リモート (Vercel)
vercel deploy --prodエンドポイント: https://your-app.vercel.app/mcp
認証: Authorization: Bearer <API_KEY>
ツール一覧
CRUD (16 エンティティ × 5 操作 = 80 ツール)
各エンティティに list_*, get_*, create_*, update_*, delete_* を提供。
エンティティ | 説明 |
| 基本プロフィール、ミッション、価値観、トーン |
| 職歴・経歴 |
| スキル(カテゴリ・習熟度付き) |
| プロジェクト実績 |
| 表彰・受賞・資格 |
| 具体的なエピソード・体験談 |
| 学歴・教育歴 |
| 趣味・興味 |
| 価値観・哲学・信条 |
| 健康・ウェルネス |
| ライフイベント |
| 人間関係 |
| 目標・進捗 |
| ユーザー定義カテゴリ |
| カスタムカテゴリのエントリ |
| コンテキスト生成用ペルソナ定義 |
コンテキスト生成
ツール | 説明 |
| ペルソナベースの重み付きコンテキストを Markdown で生成。 |
| 利用可能なペルソナ一覧(プリセット + カスタム) |
プリセットペルソナ: default, professional, interview, personal, creative
検索・分析
ツール | 説明 |
| 全テーブル横断のキーワード検索 |
| テーブルごとのエントリ数・充実度 |
タグ・リレーション
ツール | 説明 |
| エントリへのタグ付け・解除 |
| エンティティ間の関連付け |
一括操作
ツール | 説明 |
| JSON データの一括インポート |
| 全データまたは指定テーブルの一括エクスポート |
リソース (MCP Resources)
URI | 説明 |
| プロフィール全体概要 |
| 時系列の職歴 |
| カテゴリ別スキルマトリクス |
| プロジェクト + 実績 |
| 履歴書用の構造化データ |
| 重要エピソード(importance 7以上) |
| アクティブな目標と進捗 |
| 重み付きコンテキスト(デフォルトペルソナ) |
アーキテクチャ
DB: Supabase (PostgreSQL) -
personal_dbスキーマに全テーブルを分離認証: API キーベース(マルチテナント対応)
RLS: 全テーブルに Row Level Security 設定済み
トランスポート: stdio (ローカル) / HTTP (Vercel デプロイ)
Available Tools
101 toolsanalyze_profileC
プロフィール分析。スコアリングで圧縮候補を特定し、batch_operations と組み合わせて整理できる
Inputs: focus, persona, score_threshold.
batch_operationsB
複数テーブルへの create/update/delete を1回で実行。近況報告などをまとめてDBに反映する際に使う
Inputs: operations (required).
bulk_exportC
全データまたは指定テーブルのJSON一括エクスポート
Inputs: tables, include_private.
bulk_importC
JSON一括インポート。複数テーブルのデータを一度にインポート
Inputs: data (required).
create_achievementC
実績を新規作成
Inputs: data (required), profile_id.
create_career_entryC
経歴を新規作成
Inputs: data (required), profile_id.
create_custom_categoryC
カスタムカテゴリを新規作成
Inputs: data (required), profile_id.
create_custom_entryC
カスタムエントリを新規作成
Inputs: data (required), profile_id.
create_educationC
学歴・教育を新規作成
Inputs: data (required), profile_id.
create_episodeC
エピソードを新規作成
Inputs: data (required), profile_id.
create_goalC
目標を新規作成
Inputs: data (required), profile_id.
create_health_entryC
健康エントリを新規作成
Inputs: data (required), profile_id.
create_hobbyC
趣味を新規作成
Inputs: data (required), profile_id.
create_life_eventC
ライフイベントを新規作成
Inputs: data (required), profile_id.
create_personaC
ペルソナを新規作成
Inputs: data (required), profile_id.
create_profileC
プロフィールを新規作成
Inputs: data (required), profile_id.
create_projectC
プロジェクトを新規作成
Inputs: data (required), profile_id.
create_relationB
エントリ間の関連を作成 (例: エピソードがスキルを実証, 経歴がプロジェクトに繋がった等)
Inputs: source_id (required), target_id (required), source_type (required), target_type (required), +2 more.
create_relationshipC
人間関係を新規作成
Inputs: data (required), profile_id.
create_skillC
スキルを新規作成
Inputs: data (required), profile_id.
create_tagC
タグを作成
Inputs: name (required), category.
create_values_philosophyC
価値観・哲学を新規作成
Inputs: data (required), profile_id.
debug_authD
認証デバッグ
Inputs: no named parameters.
delete_achievementC
実績を削除
Inputs: id (required).
delete_career_entryC
経歴を削除
Inputs: id (required).
delete_custom_categoryC
カスタムカテゴリを削除
Inputs: id (required).
delete_custom_entryD
カスタムエントリを削除
Inputs: id (required).
delete_educationC
学歴・教育を削除
Inputs: id (required).
delete_episodeC
エピソードを削除
Inputs: id (required).
delete_goalC
目標を削除
Inputs: id (required).
delete_health_entryC
健康エントリを削除
Inputs: id (required).
delete_hobbyC
趣味を削除
Inputs: id (required).
delete_life_eventC
ライフイベントを削除
Inputs: id (required).
delete_personaC
ペルソナを削除
Inputs: id (required).
delete_profileC
プロフィールを削除
Inputs: id (required).
delete_projectC
プロジェクトを削除
Inputs: id (required).
delete_relationC
エントリ間の関連を削除
Inputs: id (required).
delete_relationshipC
人間関係を削除
Inputs: id (required).
delete_skillC
スキルを削除
Inputs: id (required).
delete_values_philosophyC
価値観・哲学を削除
Inputs: id (required).
generate_nft_snapshotB
NFTスナップショット生成 — プライバシーフィルタ済みのプロフィールデータスナップショットを生成(NFT Mint前のデータ確認用)
Inputs: persona, max_tokens_hint.
get_achievementC
実績を取得 (IDで指定)
Inputs: id (required).
get_career_entryC
経歴を取得 (IDで指定)
Inputs: id (required).
get_contextA
ペルソナベースの重み付きコンテキストを生成。AIがこの人物を理解するための最適化されたMarkdownを返す。
Inputs: focus, persona, max_tokens_hint.
get_custom_categoryC
カスタムカテゴリを取得 (IDで指定)
Inputs: id (required).
get_custom_entryC
カスタムエントリを取得 (IDで指定)
Inputs: id (required).
get_educationC
学歴・教育を取得 (IDで指定)
Inputs: id (required).
get_entry_tagsB
エントリに付与されたタグを取得
Inputs: entry_id (required), entry_type (required).
get_episodeB
エピソードを取得 (IDで指定)
Inputs: id (required).
get_goalC
目標を取得 (IDで指定)
Inputs: id (required).
get_health_entryC
健康エントリを取得 (IDで指定)
Inputs: id (required).
get_hobbyC
趣味を取得 (IDで指定)
Inputs: id (required).
get_life_eventA
ライフイベントを取得 (IDで指定)
Inputs: id (required).
get_nft_listingC
NFT出品詳細 — 特定のNFT出品の詳細情報を取得
Inputs: listing_id (required).
get_personaC
ペルソナを取得 (IDで指定)
Inputs: id (required).
get_profileC
プロフィールを取得 (IDで指定)
Inputs: id (required).
get_projectC
プロジェクトを取得 (IDで指定)
Inputs: id (required).
get_relationsC
エントリの関連を取得
Inputs: entry_id (required), entry_type (required), direction.
get_relationshipC
人間関係を取得 (IDで指定)
Inputs: id (required).
get_skillB
スキルを取得 (IDで指定)
Inputs: id (required).
get_statsC
カテゴリ別の統計情報を取得(エントリ数、最終更新等)
Inputs: no named parameters.
get_values_philosophyB
価値観・哲学を取得 (IDで指定)
Inputs: id (required).
list_achievementsC
実績一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_available_personasC
利用可能なペルソナ一覧を取得 (プリセット + カスタム)
Inputs: no named parameters.
list_career_entriesC
経歴一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_custom_categoriesC
カスタムカテゴリ一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_custom_entriesC
カスタムエントリ一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_educationC
学歴・教育一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_episodesC
エピソード一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_goalsC
目標一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_health_entriesC
健康エントリ一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_hobbiesB
趣味一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_life_eventsC
ライフイベント一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_nft_listingsB
NFT出品一覧 — マーケットプレイスの出品を一覧表示
Inputs: limit, status, my_only.
list_personasC
ペルソナ一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_profilesB
プロフィール一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_projectsC
プロジェクト一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_relationshipsC
人間関係一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_skillsC
スキル一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
list_tagsC
タグ一覧を取得
Inputs: category.
list_values_philosophyB
価値観・哲学一覧を取得
Inputs: limit, filter, offset, order_by, +2 more.
preview_nft_dataC
NFTデータプレビュー — Mintに含まれるデータの概要を表示(コンテキスト本文なし、エンティティ数のみ)
Inputs: persona.
searchB
全テーブル横断のフルテキスト検索
Inputs: query (required), limit, tables.
tag_entryC
エントリにタグを付与
Inputs: entry_id (required), tag_name (required), entry_type (required), tag_category.
untag_entryC
エントリからタグを解除
Inputs: entry_id (required), tag_name (required), entry_type (required).
update_achievementC
実績を更新
Inputs: id (required), data (required).
update_career_entryD
経歴を更新
Inputs: id (required), data (required).
update_custom_categoryC
カスタムカテゴリを更新
Inputs: id (required), data (required).
update_custom_entryC
カスタムエントリを更新
Inputs: id (required), data (required).
update_educationC
学歴・教育を更新
Inputs: id (required), data (required).
update_episodeC
エピソードを更新
Inputs: id (required), data (required).
update_goalC
目標を更新
Inputs: id (required), data (required).
update_health_entryC
健康エントリを更新
Inputs: id (required), data (required).
update_hobbyC
趣味を更新
Inputs: id (required), data (required).
update_life_eventC
ライフイベントを更新
Inputs: id (required), data (required).
update_personaC
ペルソナを更新
Inputs: id (required), data (required).
update_profileC
プロフィールを更新
Inputs: id (required), data (required).
update_projectD
プロジェクトを更新
Inputs: id (required), data (required).
update_relationshipC
人間関係を更新
Inputs: id (required), data (required).
update_skillC
スキルを更新
Inputs: id (required), data (required).
update_values_philosophyC
価値観・哲学を更新
Inputs: id (required), data (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 101 tools
Most tools follow a clear resource+action pattern (create/get/list/update/delete for each entity type like profile, skill, project), so they are largely distinguishable. However, a few tools overlap conceptually: 'search' (full-text search across all tables) and 'get_stats'/'get_context' have some ambiguity in purpose, and 'persona' vs 'profile' represent potentially overlapping concepts. Overall the resource-based naming keeps boundaries mostly clear.
The vast majority of tools follow a consistent verb_noun pattern (create_X, get_X, list_X, update_X, delete_X) in snake_case, which is excellent. Minor deviations exist: 'search', 'tag_entry', 'untag_entry' reverse the order to noun_verb, and a few like 'generate_nft_snapshot' and 'preview_nft_data' use different verb forms. Also 'get_stats', 'get_context', 'debug_auth', and 'analyze_profile' don't match the CRUD pattern. Still, the deviation is small relative to the ~90 tools that do follow the pattern.
101 tools is extremely high, far exceeding reasonable scoping for any server. While a personal database could legitimately manage many entity types, having 101 distinct tools creates massive cognitive overhead. Each entity type generates 5 CRUD tools plus auxiliary tools, resulting in a sprawling surface. This is a textbook example of tool-count bloat that will overwhelm agents.
CRUD coverage is quite thorough for most entity types (profile, skill, project, achievement, episode, education, hobby, values, health, life events, relationships, goals, custom categories/entries, personas, careers). However, there are gaps: delete_relationship, update_relationship, get_relationship, list_relationships exist but no... actually most are present. Missing delete for relationship and goal's get/delete gaps — delete_goal exists but check list. Some entities like NFT and tags have partial coverage (no create/update NFT, no delete tag). Overall coverage is good but not complete across all entity types.
Maintenance
Related MCP Connectors
Personal context and preferences for AI via OAuth-approved profile sections and taste data.
Your personal data for AI — Telegram, bank, courses, Zoom & more, scoped to you.
A profile you control: gives your AI your role, projects and preferences, across ChatGPT and Claude.
Stop re-explaining yourself to AI. Save knowledge once, use it in every conversation.
Related MCP Servers
- FlicenseBqualityNot gradedmaintenanceProvides persistent personal and organizational knowledge storage that any LLM can connect to for instant context about who you are, what you do, and your preferences. Enables AI agents to maintain long-term memory across sessions through structured data categories, semantic search, and export/import capabilities.27-
- AlicenseDqualityDmaintenanceEnables AI assistants to access and update personalized context data, creating persistent memory between sessions.14MIT
- AlicenseAqualityFmaintenanceProvides persistent personal context (identity, projects, decisions, knowledge) to MCP-compatible AI tools, eliminating the need to re-explain yourself across sessions.251 npm1MIT
- AlicenseNot gradedqualityCmaintenanceAggregates your digital footprint (GitHub, blogs, resume) into a single AI-readable profile and exposes it via MCP tools so AI agents can query your context live.1MIT