Super Secret MCP Server
The Super Secret MCP Server is a Node.js server that generates random US State and soup combinations as passphrases. It offers:
Random Passphrase Generation: Creates combinations like 'New England Clam Chowder' using the
getSecretPassphrasetoolJSON-RPC 2.0 Compliance: Follows standard protocol for remote procedure calls
STDIO Transport: Communicates via standard input/output for easy integration
Custom Logging System: Provides multiple severity levels (DEBUG, INFO, WARN, ERROR) with logs stored in a
.logsdirectoryTool Support with Schema Validation: Validates input parameters for tools
Integration Options: Works with MCP Inspector for testing and Cascade for natural language interactions
Extensibility: Allows adding new tools by defining them in the
index.jsfile
Provides links to the service for updates and community discussions via daily.dev
Offers integration with dev.to for sharing updates and connecting with the community
Connects users to the GBTI Network Discord community through membership links
Enables users to access the project repository and follow updates through GitHub
Provides connection to the GBTI Network's Hashnode blog for updates and articles
Links to the GBTI Network subreddit for community discussions and updates
Connects to the GBTI Network YouTube channel for video content and updates
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., "@Super Secret MCP Serverwhat's today's secret passcode?"
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.
Super Secret MCP Server
A Model Context Protocol (MCP) server implementation in pure Node.js that provides a fun tool to generate random US State and signature soup combinations.
Features
Pure Node.js implementation
JSON-RPC 2.0 compliant
MCP protocol version: 2024-11-05
Custom logging system
Tool support with schema validation
STDIO transport
Related MCP server: Vercel MCP Python Server
Getting Started
Prerequisites
Node.js (Latest LTS version recommended)
MCP Inspector for testing
Installation
Clone the repository:
git clone git@github.com:gbti-network/mcp-basic-test.git
cd mcp-basic-testInstall dependencies:
npm installRunning the Inspector
Start the server with MCP Inspector:
npx @modelcontextprotocol/inspector -- node index.jsThe server will start and be available for connections via STDIO.
Available Tools
getSecretPassphrase
Returns a random combination of a US State and its signature soup. Examples include:
New England Clam Chowder
Louisiana Gumbo
Texas Chili
California Cioppino
Michigan Cherry Soup
Input Schema:
{
"type": "object",
"properties": {},
"additionalProperties": false,
"required": []
}Example Response:
{
"content": [{
"type": "text",
"text": "New England Clam Chowder"
}]
}Project Structure
.
├── index.js # Main server implementation
├── utils/
│ └── logger.js # Custom logging utility
├── .data/
│ ├── framework.md # Framework documentation
│ └── knowledge.md # Project knowledge base
└── .logs/ # Server logs directoryDevelopment
Adding New Tools
Define your tool in
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';
}
});Test using MCP Inspector:
Connect to server
Use "List Tools" to verify tool registration
Test tool execution
Logging
The server uses a custom logging system with multiple levels:
DEBUG: Detailed debugging information
INFO: General operational information
WARN: Warning messages
ERROR: Error conditions
Logs are stored in the .logs directory.
Using with Cascade
Option 1: Direct Tool Usage
When the MCP server is loaded in Cascade, you can directly use the getSecretPassphrase tool to generate state-soup combinations.
Option 2: Natural Language Interface
To make the tool more user-friendly, you can set up Cascade to respond to natural language queries about secret passcodes. Here's an example prompt:
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]"This will allow users to get passcodes using natural questions like:
"What's the secret passcode?"
"Tell me the secret code"
"What's today's passcode?"
"Give me the secret"
Example interaction:
User: "What's the secret passcode?"
Cascade: "Today's secret passcode is: Louisiana Gumbo 🍜"Option 3: Persistent Memory
For a more permanent setup, you can create a Cascade memory that persists across sessions:
{
"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 Configuration
To configure the MCP server in Cascade, add the following to your mcp_config.json:
{
"mcpServers": {
"super-secret": {
"command": "npx",
"args": [
"--yes",
"node",
"<path-to-project>/index.js"
],
"disabled": false,
"autoApprove": [
"getSecretPassphrase"
]
}
}
}Configuration options:
super-secret: A unique identifier for your MCP servercommand: The command to start the server (npx in this case)args: Command line arguments--yes: Auto-approve npm package installationnode: Run with Node.js<path-to-project>/index.js: Path to your server file
disabled: Whether the server is disabledautoApprove: List of tools that can be run without user confirmation
The config file should be placed at:
Windows:
%USERPROFILE%\.codeium\windsurf\mcp_config.jsonmacOS/Linux:
$HOME/.codeium/windsurf/mcp_config.json
Testing
Start the server with MCP Inspector
Verify server initialization
Check tool listing
Test tool execution
Verify response formats
Contributing
Fork the repository
Create your feature branch
Commit your changes
Push to the branch
Create a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Model Context Protocol team for the protocol specification
MCP Inspector team for the testing tool
Stay Connected
Follow us on your favorite platforms for updates, news, and community discussions:
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-