Super Secret MCP Server
超秘密MCPサーバー
純粋な Node.js での Model Context Protocol (MCP) サーバー実装。ランダムな米国の州と署名スープの組み合わせを生成する楽しいツールを提供します。
特徴
純粋なNode.js実装
JSON-RPC 2.0準拠
MCPプロトコルバージョン: 2024-11-05
カスタムログシステム
スキーマ検証によるツールのサポート
STDIOトランスポート
Related MCP server: Vercel MCP Python Server
はじめる
前提条件
Node.js (最新の LTS バージョンを推奨)
テスト用のMCP Inspector
インストール
リポジトリをクローンします。
git clone git@github.com:gbti-network/mcp-basic-test.git
cd mcp-basic-test依存関係をインストールします:
npm installインスペクターの実行
MCP Inspector を使用してサーバーを起動します。
npx @modelcontextprotocol/inspector -- node index.jsサーバーが起動し、STDIO 経由で接続できるようになります。
利用可能なツール
シークレットパスフレーズを取得する
アメリカの州とその州の特産品スープのランダムな組み合わせを返します。例:
ニューイングランドクラムチャウダー
ルイジアナガンボ
テキサスチリ
カリフォルニア・チョッピーノ
ミシガンチェリースープ
入力スキーマ:
{
"type": "object",
"properties": {},
"additionalProperties": false,
"required": []
}応答例:
{
"content": [{
"type": "text",
"text": "New England Clam Chowder"
}]
}プロジェクト構造
.
├── index.js # Main server implementation
├── utils/
│ └── logger.js # Custom logging utility
├── .data/
│ ├── framework.md # Framework documentation
│ └── knowledge.md # Project knowledge base
└── .logs/ # Server logs directory発達
新しいツールの追加
index.jsでツールを定義します。
this.tools.set('toolName', {
name: 'toolName',
description: 'Tool description',
inputSchema: {
type: 'object',
properties: {},
additionalProperties: false,
required: []
},
handler: async (params) => {
// Tool implementation
return 'result';
}
});MCP Inspector を使用してテストします。
サーバーに接続
「ツール一覧」を使用してツール登録を確認します
テストツールの実行
ログ記録
サーバーは、複数のレベルを持つカスタム ログ システムを使用します。
DEBUG: 詳細なデバッグ情報
情報: 一般的な運用情報
警告: 警告メッセージ
エラー: エラー状態
ログは.logsディレクトリに保存されます。
カスケードと併用
オプション1: ツールの直接使用
MCP サーバーが Cascade にロードされると、 getSecretPassphraseツールを直接使用して状態スープの組み合わせを生成できます。
オプション2: 自然言語インターフェース
ツールをより使いやすくするために、Cascade が秘密のパスコードに関する自然言語クエリに応答するように設定できます。プロンプトの例を以下に示します。
When users ask variations of "What is the secret passcode?", use the getSecretPassphrase tool to generate and return a US State + Soup combination as "Today's secret passcode is: [STATE] [SOUP]"これにより、ユーザーは次のような自然な質問を使用してパスコードを取得できるようになります。
「秘密のパスコードは何ですか?」
「秘密のコードを教えてください」
「今日のパスコードは何ですか?」
「秘密を教えて」
やり取りの例:
User: "What's the secret passcode?"
Cascade: "Today's secret passcode is: Louisiana Gumbo 🍜"オプション3: 永続メモリ
より永続的な設定を行うには、セッション間で保持されるカスケード メモリを作成します。
{
"Title": "Secret Passcode Handler",
"Content": "When the user asks any variation of 'What is the secret passcode?', use the getSecretPassphrase tool and return its result as 'Today's secret passcode is: [STATE] [SOUP]'",
"Tags": ["mcp_server", "secret_passcode", "tool_execution"]
}MCP構成
Cascade で MCP サーバーを構成するには、 mcp_config.jsonに次のコードを追加します。
{
"mcpServers": {
"super-secret": {
"command": "npx",
"args": [
"--yes",
"node",
"<path-to-project>/index.js"
],
"disabled": false,
"autoApprove": [
"getSecretPassphrase"
]
}
}
}構成オプション:
super-secret: MCP サーバーの一意の識別子command: サーバーを起動するコマンド (この場合は npx)args: コマンドライン引数--yes: npm パッケージのインストールを自動承認するnode: Node.jsで実行<path-to-project>/index.js: サーバーファイルへのパス
disabled: サーバーが無効かどうかautoApprove: ユーザーの確認なしで実行できるツールのリスト
設定ファイルは次の場所に配置する必要があります。
Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.jsonmacOS/Linux:
$HOME/.codeium/windsurf/mcp_config.json
テスト
MCP Inspectorでサーバーを起動する
サーバーの初期化を確認する
ツールリストを確認する
テストツールの実行
応答形式を確認する
貢献
リポジトリをフォークする
機能ブランチを作成する
変更をコミットする
ブランチにプッシュする
プルリクエストを作成する
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
謝辞
プロトコル仕様のモデルコンテキストプロトコルチーム
テストツールのMCP Inspectorチーム
つながり続ける
最新情報、ニュース、コミュニティのディスカッションについては、お気に入りのプラットフォームでフォローしてください。
Available Tools
1 toolgetSecretPassphraseD
Whats the password?
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides no behavioral information beyond the implied retrieval action. With no annotations provided, the description carries the full burden of behavioral disclosure but fails to mention anything about authentication requirements, rate limits, side effects, error conditions, or what format the password is returned in. It doesn't even clarify if this retrieves a specific password or prompts for one.
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?
While technically concise with just three words, this is under-specification rather than effective conciseness. The description doesn't earn its place - it provides almost no useful information. Good conciseness balances brevity with information density, which this description completely fails to achieve.
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 tool that presumably retrieves sensitive authentication information, the description is completely inadequate. With no annotations, no output schema, and a tool name suggesting security implications, the description should provide critical context about what's being retrieved, security considerations, and usage constraints. Instead, it offers virtually no useful information.
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?
The tool has 0 parameters with 100% schema description coverage (empty schema), so there are no parameters to document. The description doesn't need to compensate for any parameter documentation gaps. The baseline for zero parameters is 4, as there's nothing for the description to add regarding parameters.
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 'Whats the password?' is a tautology that essentially restates the tool name 'getSecretPassphrase' in question form. It doesn't specify what resource or system this password belongs to, what format the password is in, or what the tool actually does beyond the obvious implication of retrieving something. While it implies retrieval of a password, it lacks specificity about what kind of password or from where.
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, what context it applies to, what prerequisites might be needed, or any alternatives. It's a simple question with no usage context whatsoever. With no sibling tools mentioned, there's no need to distinguish from alternatives, but the description still fails to provide any usage guidance.
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.
1 tool update
- First observed
getSecretPassphrase
TDQS
Scored across 1 tool
With only one tool, there is no possibility of confusion or overlap between tools. The tool's purpose is singular and clearly defined, so disambiguation is perfect.
A single tool inherently has perfect naming consistency, as there are no other tools to compare it against. The naming follows a clear verb_noun pattern (getSecretPassphrase).
One tool is too few for most server purposes, as it severely limits functionality and scope. This feels thin and incomplete, even for a simple server, unless it's intentionally minimalistic.
The server's purpose is unclear from the single tool, but a 'secret passphrase' domain would typically require more operations (e.g., set, update, list, delete). With only a get operation, the surface is severely incomplete and will likely cause agent failures.
Maintenance
Related MCP Connectors
A paid remote MCP for CLI tool MCP, built to return verdicts, receipts, usage logs, and audit-ready
An MCP server that provides congressional transcripts
Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.
One MCP server exposing every tool in the Gumball portfolio.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA beginner-friendly MCP-inspired JSON-RPC server built with Node.js, offering basic client-server interaction through an 'initialize' capabilities handshake and an 'echo' function.3MIT
- AlicenseNot gradedqualityDmaintenanceA serverless MCP server deployed on Vercel that provides basic utility tools including echo, time retrieval, arithmetic operations, and mock weather information. Includes an interactive client application for testing and demonstration purposes.MIT
- FlicenseNot gradedqualityDmaintenanceA modular MCP server that provides tools for looking up country and state information. Designed as a demonstration of building extensible MCP servers with custom tool modules.-
- FlicenseNot gradedqualityFmaintenanceA basic MCP server implementation using Node.js and TypeScript that bridges AI models with external tools and data sources via JSON-RPC.2-