Skip to main content
Glama
p-united
by p-united

Simple MCP Server

TypeScriptで作成されたシンプルなMCP(Model Context Protocol)サーバのサンプルです。ClaudeDesktopから使用して、ファイル操作やシステム情報の取得が可能です。

🔒 セキュリティ機能

このMCPサーバーにはパスアクセス制限機能が組み込まれており、安全なディレクトリのみへのアクセスを許可します。

許可されるディレクトリ

  • ユーザーのDocuments/00_AI_Areaフォルダ(現在の設定)

  • その他カスタム設定可能

ブロックされるディレクトリ

  • システムディレクトリ(/etc/bin/Windows/Program Files など)

  • 機密情報ディレクトリ(.ssh.aws.config など)

許可されるファイル拡張子

.txt, .md, .json, .js, .ts, .html, .css, .py, .java, .cpp, .c, .h, .xml, .yaml, .yml, .log, .csv, .tsv, .sql, .sh, .bat, .ps1

Related MCP server: MCP File Operations Server

機能

  • read_file: ファイルの読み込み(許可されたディレクトリのみ)

  • write_file: ファイルへの書き込み(許可されたディレクトリのみ)

  • list_directory: ディレクトリの一覧表示(許可されたディレクトリのみ)

  • get_system_info: システム情報の取得

  • create_sample_file: サンプルファイルの作成(テスト用)

  • get_allowed_paths: アクセス可能なパス一覧を表示(新機能

セットアップ

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

npm install

2. ビルド

npm run build

3. ClaudeDesktop設定

ClaudeDesktopの設定ファイル(通常 %APPDATA%\Claude\claude_desktop_config.json)を編集します:

{
  "mcpServers": {
    "simple-mcp-server": {
      "command": "node",
      "args": ["/absolute/path/to/your/project/dist/index.js"],
      "env": {}
    }
  }
}

重要: args の配列には、プロジェクトの dist/index.js への絶対パスを指定してください。

4. ClaudeDesktopの再起動

設定を反映するため、ClaudeDesktopを再起動してください。

開発モード

開発中は以下のコマンドでサーバーを直接実行できます:

npm run dev

使用例

ClaudeDesktopで以下のようなリクエストを試してみてください:

システム情報の取得

システム情報を教えて

アクセス可能なパスの確認

アクセス可能なパス一覧を表示して

サンプルファイルの作成

test.txtという名前でサンプルファイルを作成して

ファイルの読み込み

test.txtの内容を読み込んで

ディレクトリの一覧表示

現在のディレクトリの一覧を表示して

ファイルへの書き込み

hello.txtに「Hello, MCP World!」と書き込んで

🔧 設定のカスタマイズ

PathValidatorクラスの設定を変更することで、アクセス許可ルールをカスタマイズできます:

// 許可するディレクトリを追加
this.allowedPaths = [
  path.resolve(os.homedir(), 'Documents/00_AI_Area'),
  // カスタムパスを追加
  path.resolve('/path/to/your/allowed/directory'),
];

// 許可するファイル拡張子を追加
this.allowedExtensions = [
  '.txt', '.md', '.json',
  // 新しい拡張子を追加
  '.custom',
];

ファイル構成

simple-mcp-server/
├── src/
│   └── index.ts          # メインのサーバー実装
├── dist/                 # ビルド後のJavaScriptファイル
├── package.json          # プロジェクト設定
├── tsconfig.json         # TypeScript設定
└── README.md            # このファイル

トラブルシューティング

MCPサーバーが認識されない場合

  1. ClaudeDesktopの設定ファイルのパスが正しいか確認

  2. dist/index.js への絶対パスが正しいか確認

  3. npm run build でビルドが正常に完了しているか確認

  4. ClaudeDesktopを完全に再起動

ファイル操作でエラーが発生する場合

  • ファイルパスが存在するか確認

  • 適切な読み書き権限があるか確認

  • 相対パスではなく絶対パスを使用してみる

セキュリティ関連のエラー

"許可されていないパスです"

  • アクセスしようとしているパスが許可されたディレクトリ内にありません

  • get_allowed_pathsツールを使用してアクセス可能なパスを確認してください

"許可されていないファイル拡張子です"

  • サポートされていないファイル拡張子にアクセスしようとしています

  • 許可された拡張子の一覧を確認し、必要に応じて設定を変更してください

デバッグモード

サーバーの動作ログは標準エラー出力に出力されます:

npm run dev 2> debug.log

カスタマイズ

新しいツールを追加するには:

  1. TOOLS 配列に新しいツール定義を追加

  2. setupToolHandlers() メソッドにハンドラーを追加

  3. 対応するメソッドを実装

例えば、現在時刻を取得するツールを追加したい場合は、get_current_time のようなツールを実装できます。

🛡️ セキュリティ考慮事項

  • パスアクセス制限: システムファイルや機密情報への不正アクセスを防止

  • ファイル拡張子フィルタ: 実行可能ファイルや危険なファイル形式をブロック

  • パス正規化: 相対パスや「..」を使った親ディレクトリへの不正アクセスを防止

  • エラーハンドリング: 適切なエラーメッセージでセキュリティ違反を通知

よくある質問

Q: 新しいディレクトリにアクセスしたい場合は?

A: クラスの配列にパスを追加してサーバーを再起動してください。 PathValidator``allowedPaths

Q: セキュリティ制限を無効にできますか?

A: セキュリティ上推奨されませんが、メソッドで常に{ isValid: true, normalizedPath }を返すように変更できます。 validatePath

Q: 大きなファイルの処理は可能ですか?

A: 現在の実装では、ファイル全体をメモリに読み込むため、非常に大きなファイルの処理には適していません。

注意事項

  • このサンプルは学習・テスト目的で作成されています

  • 本番環境で使用する場合は、適切なエラーハンドリングとセキュリティ対策を追加してください

  • ファイル操作は実行するユーザーの権限で行われます

  • セキュリティ制限により、許可されたディレクトリ以外にはアクセスできません

厳重注意: このサーバーはローカル環境での使用を想定しています。本番環境で使用する場合は、追加のセキュリティ対策を検討してください。

ライセンス

MIT License

Available Tools

6 tools
create_sample_fileB

サンプルファイルを作成します(テスト用)

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameNo作成するファイル名(デフォルト: sample.txt)

TDQS

B3.2/5.0
Behavior2/5

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. While '作成します' (creates) implies a write/mutation operation, the description doesn't disclose where files are created (path/directory), what permissions are needed, whether files persist, what happens if filename conflicts exist, or any rate limits. For a mutation tool with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise - a single Japanese sentence that directly states the purpose and context. Every word earns its place with no wasted text, and the testing context is efficiently included parenthetically. The structure is front-loaded with the core action immediately stated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a file creation tool with no annotations and no output schema, the description is insufficient. It doesn't explain where files are created, what format/content they contain, whether they're temporary or persistent, what permissions are required, or what the tool returns. The testing context hint is helpful but doesn't compensate for the missing behavioral and output information needed for proper tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents the single 'filename' parameter with its type, description, and default value. The description adds no additional parameter information beyond what's in the schema. Baseline 3 is appropriate when the schema does all the parameter documentation work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('作成します' - creates) and resource ('サンプルファイル' - sample file), specifying it's for testing purposes. It distinguishes from siblings like 'write_file' by indicating this creates a test file rather than a general file write operation. However, it doesn't explicitly differentiate from other potential file creation tools beyond the testing context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context with '(テスト用)' - for testing purposes, suggesting this tool should be used for testing scenarios rather than production file creation. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'write_file' or mention any prerequisites or exclusions for usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_allowed_pathsB

アクセス可能なパスの一覧を表示します

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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 displays accessible paths, implying a read-only operation, but doesn't cover critical aspects like whether it requires authentication, has rate limits, returns structured data, or handles errors. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence in Japanese: 'アクセス可能なパスの一覧を表示します'. It's front-loaded with the core purpose, has zero wasted words, and is appropriately sized for a simple tool. Every part of the sentence earns its place by conveying essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It states what the tool does but doesn't provide enough context for effective use, such as the format of the returned list, any prerequisites (e.g., authentication), or how it differs from similar tools like 'list_directory'. For a tool in this environment, more detail 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and the schema description coverage is 100% (since there are no parameters to describe). The description doesn't need to add parameter details, and it appropriately doesn't mention any. This meets the baseline for tools with no parameters, as there's nothing to compensate for.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'アクセス可能なパスの一覧を表示します' (displays a list of accessible paths). It uses a specific verb ('表示します' - displays) and resource ('パスの一覧' - list of paths), making the function understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_directory' which might also list paths, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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. It doesn't mention sibling tools like 'list_directory' or explain scenarios where this tool is preferred (e.g., for checking permissions vs. browsing files). Without any context on usage or exclusions, the score is low.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_system_infoB

システム情報を取得します

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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. The description only states what the tool does ('get system information') without revealing any behavioral traits such as what specific information is returned, whether it requires special permissions, if there are rate limits, or how the information is formatted. This leaves significant gaps for a 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Japanese that directly states the tool's purpose with zero wasted words. It's appropriately sized for a simple, parameterless tool and is front-loaded with the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is minimally adequate but has clear gaps. It states what the tool does but doesn't explain what 'system information' includes, the return format, or any behavioral context. For a tool with no annotations or output schema, more detail would be helpful to understand what to expect from the operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the absence of parameters. The description doesn't need to add parameter information, and it appropriately doesn't mention any parameters. The baseline for 0 parameters with high schema coverage is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'システム情報を取得します' clearly states the purpose as 'get system information' with a specific verb ('取得します' - get/retrieve) and resource ('システム情報' - system information). It distinguishes from siblings like file operations (create_sample_file, read_file) but doesn't explicitly differentiate from get_allowed_paths which also retrieves system-related data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 are no explicit when/when-not instructions, no mention of prerequisites, and no comparison to sibling tools like get_allowed_paths that might retrieve related system data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_directoryB

指定されたディレクトリの内容を一覧表示します(許可されたディレクトリのみ)

ParametersJSON Schema
NameRequiredDescriptionDefault
dirpathYes一覧表示するディレクトリのパス

TDQS

B3.3/5.0
Behavior2/5

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 mentions the constraint '許可されたディレクトリのみ' (only permitted directories), which is useful context about access restrictions. However, it lacks details on output format (e.g., list of filenames, metadata), error handling for invalid paths, or whether it's a read-only operation (implied but not stated). For a tool with no annotation coverage, this leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Japanese that conveys the core purpose and a key constraint. It's front-loaded with the main action ('一覧表示します') and includes no redundant information. Every part of the sentence adds value, making it appropriately concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (one parameter, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and access restriction but lacks details on output format, error cases, or how it differs from siblings. Without annotations or output schema, more behavioral context would improve completeness, but it's not severely lacking for a simple listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with 'dirpath' documented as '一覧表示するディレクトリのパス' (path of the directory to list). The description doesn't add any parameter-specific details beyond what the schema provides, such as path format examples or constraints related to '許可されたディレクトリ' (permitted directories). With high schema coverage, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: '一覧表示します' (list/display) for '指定されたディレクトリの内容' (contents of a specified directory). It specifies the verb (list) and resource (directory contents), though it doesn't explicitly differentiate from sibling tools like 'get_allowed_paths' or 'read_file'. The mention of '許可されたディレクトリのみ' (only permitted directories) adds useful context but doesn't fully distinguish it from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through '許可されたディレクトリのみ' (only permitted directories), suggesting this tool is for browsing accessible directories rather than arbitrary paths. However, it doesn't explicitly state when to use this versus alternatives like 'get_allowed_paths' (which might list permitted directories themselves) or 'read_file' (for file contents). No explicit exclusions or prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_fileB

指定されたファイルの内容を読み込みます(許可されたディレクトリのみ)

ParametersJSON Schema
NameRequiredDescriptionDefault
filepathYes読み込むファイルのパス

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the restriction to allowed directories, which is useful, but lacks details on permissions, error handling, or output format. For a read operation with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and includes a crucial restriction in parentheses. There is no wasted language, and it communicates the essential information without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (a file read operation), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., file content as text, binary data, or an error structure), leaving the agent uncertain about the result format and potential edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents the 'filepath' parameter fully. The description doesn't add any additional meaning or context about the parameter beyond what the schema provides, such as path format examples or allowed directory specifics, resulting in a baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('読み込みます' - reads) and resource ('ファイルの内容' - file content), making the purpose understandable. However, it doesn't explicitly differentiate from sibling tools like 'list_directory' or 'get_allowed_paths', which also involve file system operations but serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context with the parenthetical note '(許可されたディレクトリのみ)' - only allowed directories, suggesting a restriction. However, it doesn't provide explicit guidance on when to use this tool versus alternatives like 'list_directory' for browsing or 'write_file' for modifications, leaving the agent to infer appropriate contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

write_fileC

指定されたファイルにテキストを書き込みます(許可されたディレクトリのみ)

ParametersJSON Schema
NameRequiredDescriptionDefault
filepathYes書き込むファイルのパス
contentYes書き込む内容

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It mentions the 'only permitted directories' restriction, which is useful behavioral context. However, it doesn't disclose whether this overwrites existing files, appends, requires specific permissions, handles encoding, or what happens on success/failure. For a file write operation with zero annotation coverage, this leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence in Japanese that communicates the core functionality. It's appropriately sized and front-loaded with the main action. No wasted words, though it could potentially benefit from slightly more detail given the lack of annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a file write operation with no annotations and no output schema, the description is incomplete. It mentions directory restrictions but doesn't cover overwrite behavior, error handling, permissions, or return values. Given the complexity of file operations and the lack of structured metadata, more comprehensive guidance would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 both parameters (filepath and content) adequately. The description doesn't add any parameter-specific details beyond what the schema provides. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('書き込みます' - writes) and resource ('ファイル' - file) with specific scope ('テキスト' - text, '許可されたディレクトリのみ' - only permitted directories). It distinguishes from sibling read_file (read vs write) but doesn't explicitly differentiate from create_sample_file which might also create/write files.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions '許可されたディレクトリのみ' (only permitted directories), which provides some context about restrictions, but doesn't explicitly state when to use this tool versus alternatives like create_sample_file. No guidance on prerequisites, error conditions, or comparison with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.6/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: create_sample_file is for generating test files, get_allowed_paths lists accessible directories, get_system_info retrieves system metadata, list_directory shows directory contents, read_file reads file content, and write_file writes to files. There is no overlap in functionality, making tool selection straightforward.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case: create_sample_file, get_allowed_paths, get_system_info, list_directory, read_file, and write_file. This uniformity enhances readability and predictability across the tool set.

Tool Count5/5

With 6 tools, the server is well-scoped for file and system operations, covering creation, reading, writing, listing, and information retrieval. Each tool serves a distinct role without redundancy, making the count appropriate for the domain.

Completeness4/5

The tool set provides strong coverage for basic file operations and system queries, including create, read, write, list, and info retrieval. A minor gap exists in update or delete operations for files, but agents can work around this using write_file for updates, and the domain is reasonably complete for a simple server.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A TypeScript MCP server port of Anthropic's filesystem editing tools, allowing file manipulation via client-approved operations without automated writes to prevent system harm.
    5
    9
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables Claude Desktop to perform file operations like reading, writing, listing directories, and managing files through natural language commands.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A local Model Context Protocol (MCP) server that exposes custom tools to Claude Desktop, enabling direct interaction with your local environment. It provides a framework for building and integrating custom TypeScript tools into the Claude interface.
    10
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Standalone TypeScript MCP server for filesystem operations with robust security, encoding support, and cross-platform path handling.
    4
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/p-united/mcpSample'

If you have feedback or need assistance with the MCP directory API, please join our Discord server