simple-mcp-server

Bloomingg/simple-mcp-server

3.2

If you are the rightful owner of simple-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

A basic example of an MCP (Model Context Protocol) server built with TypeScript and `@modelcontextprotocol/sdk`.

Simple MCP Server

A basic example of an MCP (Model Context Protocol) server built with TypeScript and @modelcontextprotocol/sdk.

This server provides a simple echo tool that repeats back any message sent to it.

Features

  • Built with TypeScript
  • Uses @modelcontextprotocol/sdk
  • Includes a basic echo tool
  • Configured for npm publishing
  • Communicates over stdio

Prerequisites

  • Node.js (version 16 or higher recommended)
  • npm (usually comes with Node.js)

Installation (as a developer)

  1. Clone the repository:
    git clone <repository-url>
    cd simple-mcp-server
    
  2. Install dependencies:
    npm install
    
  3. Build the server:
    npm run build
    

Running the Server Locally

After building, you can run the compiled server directly using Node:

node build/index.js

The server will start and listen for MCP communication over standard input/output. You'll see a message like "Simple MCP Server running on stdio" in your terminal's standard error.

Usage with an MCP Client (e.g., Claude Desktop)

To use this server with an MCP client like Claude for Desktop, you need to configure the client to launch this server.

  1. Build the server: Make sure you have run npm run build in the server's project directory.

  2. Find the absolute path: Get the absolute path to the compiled entry point, which is build/index.js within your project directory.

    • On macOS/Linux, you can use pwd in the build directory or combine pwd from the root with /build/index.js.
    • On Windows, navigate to the build directory in Explorer and copy the path, or use cd build and then cd in Command Prompt.
  3. Edit the client configuration: Open the MCP client's configuration file (e.g., claude_desktop_config.json for Claude Desktop).

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  4. Add the server entry: Add an entry for your server under mcpServers. Replace /ABSOLUTE/PATH/TO/YOUR/PROJECT/simple-mcp-server with the actual absolute path you found in step 2.

    {
      "mcpServers": {
        "simple-server": { // Use the name defined in src/index.ts
          "command": "node",
          "args": [
            "/ABSOLUTE/PATH/TO/YOUR/PROJECT/simple-mcp-server/build/index.js"
          ]
        }
        // ... other servers might be listed here
      }
    }
    
  5. Restart the client: Save the configuration file and restart your MCP client application.

Now, the client should be able to see and use the "simple-server" and its echo tool.

Publishing to npm (Optional)

  1. Make sure your package.json has the correct details (name, version, author, repository, etc.).
  2. Ensure you are logged into npm (npm login).
  3. Run the publish command:
    npm publish --access public # Use --access public for public packages
    

Once published, users could potentially use npx to run it, similar to the filesystem example, if the package.json were configured with a bin entry.

Development

  • Build: npm run build (compiles TypeScript to JavaScript in build/)
  • Watch: npm run build -- --watch (continuously watches for changes and recompiles)