Skip to main content
Glama
gbti-network

Super Secret MCP Server

by gbti-network

최고 비밀 MCP 서버

순수 Node.js로 구현된 모델 컨텍스트 프로토콜(MCP) 서버로, 무작위 미국 주와 시그니처 수프 조합을 생성하는 재미있는 도구를 제공합니다.

특징

  • 순수 Node.js 구현

  • JSON-RPC 2.0 호환

  • MCP 프로토콜 버전: 2024-11-05

  • 맞춤형 로깅 시스템

  • 스키마 검증을 통한 도구 지원

  • STDIO 전송

Related MCP server: Vercel MCP Python Server

시작하기

필수 조건

  • Node.js(최신 LTS 버전 권장)

  • 테스트를 위한 MCP 검사관

설치

  1. 저장소를 복제합니다.

지엑스피1

  1. 종속성 설치:

npm install

검사기 실행

MCP Inspector로 서버를 시작합니다.

npx @modelcontextprotocol/inspector -- node index.js

서버가 시작되고 STDIO를 통해 연결할 수 있게 됩니다.

사용 가능한 도구

getSecretPassphrase

미국 주와 해당 주의 시그니처 수프의 무작위 조합을 반환합니다. 예시는 다음과 같습니다.

  • 뉴잉글랜드 클램 차우더

  • 루이지애나 검보

  • 텍사스 칠리

  • 캘리포니아 치오피노

  • 미시간 체리 수프

입력 스키마:

{
  "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

개발

새로운 도구 추가

  1. 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';
    }
});
  1. MCP Inspector를 사용하여 테스트:

    • 서버에 연결

    • "도구 목록"을 사용하여 도구 등록을 확인하세요.

    • 테스트 도구 실행

벌채 반출

서버는 여러 수준의 사용자 정의 로깅 시스템을 사용합니다.

  • DEBUG: 자세한 디버깅 정보

  • INFO: 일반 운영 정보

  • WARN: 경고 메시지

  • 오류: 오류 조건

로그는 .logs 디렉토리에 저장됩니다.

Cascade와 함께 사용

옵션 1: 직접 도구 사용

MCP 서버가 Cascade에 로드되면 getSecretPassphrase 도구를 직접 사용하여 state-soup 조합을 생성할 수 있습니다.

옵션 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: 영구 메모리

좀 더 영구적인 설정을 위해 세션 전체에 걸쳐 지속되는 Cascade 메모리를 만들 수 있습니다.

{
  "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 : 사용자 확인 없이 실행할 수 있는 도구 목록

구성 파일은 다음 위치에 있어야 합니다.

  • 윈도우: %USERPROFILE%\.codeium\windsurf\mcp_config.json

  • macOS/Linux: $HOME/.codeium/windsurf/mcp_config.json

테스트

  1. MCP Inspector로 서버를 시작합니다.

  2. 서버 초기화 확인

  3. 도구 목록 확인

  4. 테스트 도구 실행

  5. 응답 형식 확인

기여하다

  1. 저장소를 포크하세요

  2. 기능 브랜치를 생성하세요

  3. 변경 사항을 커밋하세요

  4. 지점으로 밀어 넣기

  5. 풀 리퀘스트 만들기

특허

이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

감사의 말

  • 프로토콜 사양을 위한 모델 컨텍스트 프로토콜 팀

  • 테스트 도구를 위한 MCP 검사팀

연결 상태를 유지하세요

업데이트, 뉴스, 커뮤니티 토론을 받아보려면 좋아하는 플랫폼에서 저희를 팔로우하세요.

Available Tools

1 tool
getSecretPassphraseD

Whats the password?

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1.8/5.0
Behavior1/5

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.

Conciseness2/5

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.

Completeness1/5

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.

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 (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.

Purpose2/5

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.

Usage Guidelines1/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, 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. 1 tool update
    • First observedgetSecretPassphrase

TDQS

C2.3/5.0

Scored across 1 tool

Disambiguation5/5

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.

Naming Consistency5/5

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).

Tool Count2/5

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.

Completeness1/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    -
  • F
    license
    Not graded
    quality
    F
    maintenance
    A basic MCP server implementation using Node.js and TypeScript that bridges AI models with external tools and data sources via JSON-RPC.
    2
    -