Claude Server MCP
クロード・サーバー MCP
⚠️重要: プロジェクトのステータス⚠️
このプロジェクトは開発初期段階(v0.1.0)であり、本番環境での使用には適していません。現在、いくつかの重大な問題に対処するため、大幅な書き換えを行っています。現在の制限事項と計画されている改善については、問題ページをご覧ください。
重要なワークフローでこれを使用する前に、安定したリリース (v0.2.0+) を待つことをお勧めします。
Claude に高度なコンテキスト管理機能を提供し、セッション間での永続的なコンテキスト、プロジェクト固有のコンテキスト編成、会話の継続性を可能にするモデル コンテキスト プロトコル (MCP) サーバー。
現在の制限
現在、サーバーはClaude Desktop以外のMCPクライアントとの互換性の問題を抱えています。
特定のプロジェクトIDがないとコンテキストリスト機能が制限される
セキュリティ機能は最小限であり、本番環境では使用できない
エラー処理は基本的なものであり、役立つガイダンスを提供しない可能性があります
検査インフラが整っていない
Related MCP server: MCP Memory Keeper
開発ロードマップ
このプロジェクトは現在も積極的に改善中です。今後の主な機能強化は以下の通りです。
安定性の向上- ホームディレクトリの解決とコンテキストリストに関するコアの問題を修正
強化されたエラー処理- 改善されたエラーメッセージと回復メカニズム
セキュリティ強化- 入力検証、パスのサニタイズ、データ保護
高度なコンテキスト管理- バージョン管理、検索、そしてより良い組織化
より詳細なロードマップについては、包括的な分析ブランチを参照してください。
特徴
プロジェクトコンテキスト管理
階層的なコンテキスト構成
親子関係
コンテキスト間の相互参照
プロジェクト固有のメタデータ
会話の継続性
セッションベースのコンテキストトラッキング
会話の連鎖
メタデータが豊富なコンテキストストレージ
柔軟なタグ付けシステム
効率的なストレージ
整理されたディレクトリ構造
JSONベースのストレージ
クイックルックアップインデックス
非同期操作
インストール
サーバーはClaudeデスクトップアプリのMCP設定で自動的に設定されます。すべてのコンテキストは整理しやすいように~/.claude/に保存されます。
~/.claude/
├── contexts/ # General conversation contexts
├── projects/ # Project-specific contexts
└── context-index.json # Quick lookup indexツール
プロジェクトコンテキスト管理
// Save project context
use_mcp_tool({
server_name: "claude-server",
tool_name: "save_project_context",
arguments: {
id: "feature-design-v1",
projectId: "my-project",
content: "Design discussion...",
parentContextId: "requirements-v1",
references: ["api-spec-v1"],
tags: ["design"],
metadata: { status: "in-progress" }
}
});会話管理
// Save conversation context
use_mcp_tool({
server_name: "claude-server",
tool_name: "save_conversation_context",
arguments: {
id: "chat-2024-01-01",
sessionId: "session-123",
content: "Discussion content...",
continuationOf: "previous-chat-id",
tags: ["meeting"]
}
});コンテキスト検索
// Get context
use_mcp_tool({
server_name: "claude-server",
tool_name: "get_context",
arguments: {
id: "feature-design-v1",
projectId: "my-project"
}
});
// List contexts
use_mcp_tool({
server_name: "claude-server",
tool_name: "list_contexts",
arguments: {
projectId: "my-project",
tag: "design",
type: "project"
}
});ドキュメント
コンテキスト管理ガイド- コンテキストの種類と使用方法に関する詳細なガイド
アーキテクチャの概要- 技術的な実装の詳細
使用ガイド- 一般的な使用方法
Claude デスクトップ統合- Claude デスクトップとの統合
発達
リポジトリをクローンする
依存関係をインストールします:
npm installサーバーを構築します。
npm run buildサーバーは
build/index.jsに構築されます
構成
サーバーは、Claude デスクトップ アプリの構成ファイル ( ~/Library/Application Support/Claude/claude_desktop_config.jsonを通じて構成されます。
{
"mcpServers": {
"claude-server": {
"command": "node",
"args": ["/path/to/claude-server/build/index.js"]
}
}
}貢献
貢献を歓迎します!問題やプルリクエストをお気軽にご提出ください。
ライセンス
マサチューセッツ工科大学
Available Tools
4 toolsget_contextC
Retrieve context by ID and optional project ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the context to retrieve | |
| projectId | No | Optional project ID for project contexts |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states the action ('retrieve') but lacks behavioral details such as whether this is a read-only operation, error handling, permissions needed, or rate limits. The description is minimal and doesn't compensate for the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence that directly states the tool's purpose. It's front-loaded and wastes no words, making it efficient for quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete. It doesn't explain what 'context' entails, the return format, or how it interacts with sibling tools. For a tool with 2 parameters and behavioral uncertainty, more context is needed to be fully helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents both parameters. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't explain context types or project relationships). Baseline 3 is appropriate as the schema handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('retrieve') and resource ('context'), specifying it's done by ID with an optional project ID. However, it doesn't differentiate from sibling tools like 'list_contexts' or 'save_conversation_context', which would require more specific scope or purpose details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description mentions an optional project ID but doesn't explain when to include it or how this tool differs from siblings like 'list_contexts' or save operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_contextsC
List contexts with filtering options
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | Optional project ID to filter by | |
| tag | No | Optional tag to filter by | |
| type | No | Optional type to filter by |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but offers minimal behavioral insight. It implies a read operation with filtering but doesn't disclose critical details like pagination, rate limits, authentication needs, or what 'list contexts' entails (e.g., format, scope). This leaves significant gaps for agent understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with a single sentence that front-loads the core purpose ('List contexts') and adds a brief qualifier ('with filtering options'). There is zero wasted verbiage, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a read operation with filtering, the description is incomplete. It lacks details on return values, error handling, or behavioral constraints, leaving the agent with insufficient context to use the tool effectively beyond basic parameter input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all three optional parameters (projectId, tag, type with enum). The description adds no additional meaning beyond implying filtering exists, matching the baseline for high schema coverage without extra param insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List contexts') and mentions filtering capabilities, which distinguishes it from simple listing operations. However, it doesn't explicitly differentiate from sibling tools like 'get_context' (which might retrieve a single context) or the save operations, missing full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_context' for single context retrieval or the save tools for creation. It mentions filtering options but doesn't specify scenarios or prerequisites for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_conversation_contextC
Save conversation context with continuation support
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier for the context | |
| sessionId | Yes | Conversation session identifier | |
| content | Yes | Context content to save | |
| continuationOf | No | Optional ID of previous context | |
| tags | No | Optional tags for categorizing | |
| metadata | No | Optional additional metadata |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. 'Save' implies a write operation, but the description doesn't address permissions needed, whether this overwrites existing context with the same ID, what happens on success/failure, or any rate limits. The 'continuation support' hint is useful but insufficient for a mutation tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just 5 words, front-loading the core purpose. Every word earns its place: 'Save' (action), 'conversation context' (resource), 'with continuation support' (key feature). There's zero waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what happens after saving, what format the saved context takes, whether there are size limits on content, or how continuation actually works. The agent lacks crucial information about this write operation's behavior and outcomes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are documented in the schema itself. The description adds no additional parameter semantics beyond what's already in the schema descriptions. The baseline score of 3 is appropriate when the schema does the heavy lifting, though the description could have explained relationships between parameters like how 'continuationOf' relates to 'id'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool saves conversation context with continuation support, which is a clear verb+resource combination. However, it doesn't distinguish this from its sibling 'save_project_context' - both appear to save context but for different types (conversation vs project). The purpose is understandable but lacks sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There's no mention of when to choose 'save_conversation_context' over 'save_project_context', nor any prerequisites or typical use cases. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_project_contextC
Save project-specific context with relationships
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique identifier for the context | |
| projectId | Yes | Project identifier | |
| content | Yes | Context content to save | |
| parentContextId | No | Optional ID of parent context | |
| references | No | Optional related context IDs | |
| tags | No | Optional tags for categorizing | |
| metadata | No | Optional additional metadata |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool saves context with relationships, implying a write operation, but doesn't disclose critical behaviors like whether it overwrites existing context with the same ID, what permissions are required, error conditions, or response format. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('save project-specific context with relationships') with zero waste. Every word earns its place, making it appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, mutation operation, no output schema, and no annotations), the description is incomplete. It doesn't explain the return values, error handling, or behavioral nuances like how 'relationships' are enforced or what happens on duplicate IDs. For a save operation with rich parameters, more context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds no additional meaning beyond implying relationships via 'parentContextId' and 'references', which is already clear from the schema. With high schema coverage, the baseline is 3, and the description doesn't compensate with extra insights.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('save') and resource ('project-specific context with relationships'), which is specific and actionable. It distinguishes from sibling 'save_conversation_context' by specifying 'project-specific' context, though it doesn't explicitly differentiate from 'get_context' or 'list_contexts' beyond the save vs. get/list distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'save_conversation_context' for conversation contexts or when to retrieve vs. save using 'get_context'/'list_contexts'. It lacks explicit when/when-not instructions or prerequisites, leaving usage context implied by the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v1.0.0- Added
get_context - Added
list_contexts - Added
save_conversation_context - Added
save_project_context
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose with no overlap: get_context retrieves a specific context, list_contexts lists contexts with filters, save_conversation_context saves conversation-specific context, and save_project_context saves project-specific context. The descriptions clearly differentiate between retrieval, listing, and two types of saving operations.
All tools follow a consistent verb_noun pattern (get_context, list_contexts, save_conversation_context, save_project_context) with clear, descriptive names. The naming convention is uniform throughout the set, making it easy to understand each tool's function at a glance.
With 4 tools, the count is reasonable for a context management server, covering key operations like retrieval, listing, and saving. It feels slightly minimal but well-scoped, as each tool serves a distinct and necessary function without redundancy.
The tool set provides good coverage for context management with get, list, and save operations for both conversation and project contexts. A minor gap exists in update or delete functionality for contexts, but agents can likely work around this by re-saving or managing contexts through the provided tools.
Maintenance
Related MCP Connectors
Persistent context for Claude. Your AI always knows your projects and next actions across sessions.
Share one project context across ChatGPT, Claude, Telegram and any MCP client.
Persistent memory for Claude Code and Cursor. Stop re-explaining your project every session.
Cross-LLM persistent memory: store context once, recall it from any AI model.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server for Claude Desktop that provides structured memory management across chat sessions, allowing Claude to maintain context and build a knowledge base within project directories.6 npm6MIT
- AlicenseNot gradedqualityBmaintenanceProvides persistent context management for Claude AI coding assistants, allowing you to save and restore conversation context, create checkpoints, and organize information across sessions to prevent losing important work history and decisions during long coding sessions.122 npm135MIT
- AlicenseNot gradedqualityDmaintenanceProvides Claude with a persistent local memory and structured knowledge graph to track project states, tasks, and historical decisions across different chat sessions. It enables users to recall information using keyword relevance, time-travel queries, and dependency analysis for complex project management.MIT
- FlicenseAqualityDmaintenanceProvides persistent personal context storage across AI conversations, allowing AI assistants to remember user preferences, project conventions, and other personal information between sessions.8-