Md5 Calculator について
MD5-MCPは、テキスト、JSONデータ、Base64エンコードされたバイナリデータのハッシュを計算するMCPプロバイダーです。MCP対応クライアントで設定可能なMD5チェックを行う用途に適しています。
主な機能
- 01プレーンテキストのハッシュ計算
- 02JSONデータのハッシュ計算
- 03Base64バイナリのハッシュ計算
- 04空白と書式の処理設定
活用シーン
- 01テキストデータの整合性確認
- 02JSONレコードのハッシュ比較
- 03バイナリコンテンツのハッシュ計算
MCP 対応
このプロバイダーはstdio経由で、テキスト、JSON、Base64データを扱う3種類のMD5計算ツールをMCPクライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| input | string | はい | MD5 ハッシュを計算する文字列 |
| trimWhitespace | boolean | いいえ | ハッシュ計算の前に入力の空白を削除するかどうか |
詳細
MD5-MCP:MD5 ハッシュ計算 MCP プロバイダー
さまざまなデータ型から MD5 ハッシュを計算するための Model Context Protocol(MCP)プロバイダーです。このプロバイダーは、文字列、JSON データ、Base64 エンコードされたバイナリデータから MD5 ハッシュを計算するツールを提供します。
機能
- プレーンテキスト文字列から MD5 ハッシュを計算します。前後の空白を削除するかどうかを指定できます
- さまざまな JSON データ型(文字列、数値、ブール値、オブジェクト、配列)から MD5 ハッシュを計算します
- Base64 エンコードされたバイナリデータから MD5 ハッシュを計算します
- 書式設定オプション(空白や JSON の書式の保持など)を制御できます
- Claude などの MCP 対応クライアントと簡単に統合できます
インストール
NPM グローバルインストール(推奨)
# Install globally
npm install -g md5-mcp
# Run the provider directly
md5-mcp
ローカルインストール
# Install locally in your project
npm install md5-mcp
# Add to your package.json scripts
# "scripts": {
# "start-md5": "md5-mcp"
# }
手動インストール
# Clone the repository
git clone https://github.com/tanker327/md5-mcp.git
cd md5-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Start the provider
npm start
使用方法
プロバイダーの起動
グローバルにインストールした場合:
md5-mcp
ローカルにインストールした場合:
npx md5-mcp
これにより、stdio トランスポートを使って MCP プロバイダーが起動します。Claude for Desktop などの MCP クライアントで使用できます。
Claude for Desktop の設定
以下を Claude for Desktop の設定に追加します。
{
"mcpServers": {
"md5-calculator": {
"command": "npx",
"args": ["md5-mcp"]
}
}
}
グローバルにインストールした場合は、次のように簡略化できます。
{
"mcpServers": {
"md5-calculator": {
"command": "md5-mcp"
}
}
}
利用可能なツール
1. calculateMD5
文字列入力から MD5 ハッシュを計算します。
パラメーター:
input(string):MD5 ハッシュを計算する文字列trimWhitespace(boolean、任意):ハッシュ計算の前に入力の空白を削除するかどうか(デフォルト:false)
例:
@md5-calculator calculateMD5 --input="Hello, World!" --trimWhitespace=false
2. calculateJSONMD5
JSON データから MD5 ハッシュを計算します。
パラメーター:
jsonData(任意の JSON 型):ハッシュ計算に使用する JSON データ(文字列、数値、ブール値、オブジェクト、配列)preserveFormatting(boolean、任意):JSON の書式を保持するか、ハッシュ計算の前にコンパクト化するかどうか(デフォルト:true)
例:
@md5-calculator calculateJSONMD5 --jsonData={"name": "John", "age": 30} --preserveFormatting=true
3. calculateBase64MD5
Base64 エンコードされたバイナリデータから MD5 ハッシュを計算します。
パラメーター:
base64Data(string):MD5 ハッシュを計算する Base64 エンコードされたバイナリデータ
例:
@md5-calculator calculateBase64MD5 --base64Data="SGVsbG8sIFdvcmxkIQ=="
MD5 ハッシュ計算に関する重要な注意事項
- MD5 は空白を含むすべての文字の影響を受けます。末尾に空白がある文字列とない文字列では、異なるハッシュが生成されます。
- JSON オブジェクトのハッシュ計算では、書式(インデント、改行など)がハッシュに影響します。この動作は
preserveFormattingオプションで制御できます。 - MD5 は、機密性が求められる用途において、暗号学的に安全とは見なされなくなっています。データの整合性確認には適していますが、セキュリティが重要な用途には適していません。
プログラム用 API
このパッケージは、Node.js アプリケーションからプログラムで使用することもできます。
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
// Create a transport that starts the provider as a child process
const transport = new StdioClientTransport({
command: "npx",
args: ["md5-mcp"],
});
// Create a client
const client = new Client(
{ name: "my-app", version: "1.0.0" },
{ capabilities: { resources: {}, prompts: {}, tools: {} } }
);
// Connect to the provider
await client.connect(transport);
// Calculate MD5 hash
const result = await client.callTool({
name: "calculateMD5",
arguments: {
input: "Hello, World!",
trimWhitespace: false,
},
});
console.log(result.content[0].text);
// Don't forget to disconnect when done
await client.disconnect();
開発
開発モードでの実行
npm run dev
これにより TypeScript が監視モードで起動し、ファイルが変更されると自動的に再コンパイルされます。
テストの実行
npm test
npm への公開
新しいバージョンを公開するには:
# Update version in package.json
npm version patch # or minor, or major
# Publish to npm
npm publish
prepublishOnly スクリプトによって、公開前にテストとプロジェクトのビルドが自動的に実行されます。
ライセンス
MIT
貢献
貢献を歓迎します。お気軽に Pull Request を送信してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。