Skip to content

Bloomingg/simple-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published