MCP Server - JavaScript SDK

by MCP-Mirror

228 downloads
Not rated
GitHub

About

MCP Server - JavaScript SDK is an unofficial JavaScript SDK for the Model Context Protocol. It allows developers to define server prompts, resources, and tools in separate JavaScript files and create a MCP server instance.

Details

Author
MCP-Mirror
Downloads
228
Categories
Developer Tools

- Define prompts with description, arguments, and message content
- Define resources by URI and MIME type
- Define tools with description, async handler, and JSON schema for parameters
- Simple server instantiation with new MCP(infos, prompts, resources, tools)
- Logs saved to system-specific user log directories

Create files defining prompts, resources, and tools (e.g., prompts.js, resources.js, tools.js). Then import them into a server file and instantiate MCP with an info object (name, version), plus the prompts, resources, and tools objects.

MCP Server - JavaScript SDK

This is an unofficial JavaScript SDK for Model Context Protocol.

Usage

Create files to define the server's prompts, resources, and tools.

Prompts

// prompts.js
export const prompts = {
    hello_world: {
        description: 'A simple prompt that says hello.',
        arguments: [],
        messages: [{
            role: 'assistant',
            content: {
                type: 'text',
                text: 'Hello, world!'
            }
        }]
    }
};

Resources

// resources.js
export const resources = {
    apiReference: {
        uri: 'https://api.example.com/openapi.json',
        mimeType: 'application/json'
    }
};

Tools

// tools.js
export const tools = {
    simple_tool: {
        description: 'A simple tool',
        handler: async () => new Date().toLocaleString(),
        schema: {
            type: 'object',
            properties: {},
            required: []
        }
    },
    complex_tool: {
        description: 'A complex tool',
        handler: async ({ param1, param2 }) => {
            return param1: ${param1}, param2: ${param2};
        },
        schema: {
            type: 'object',
            properties: {
                param1: { type: 'string' },
                param2: { type: 'string' }
            },
            required: ['param1', 'param2']
        }
    }
};

Server

Then create a server instance with the following code:

// server.js
import { MCP } from 'mcp-server';
import { tools } from './tools.js';
import { prompts } from './prompts.js';
import { resources } from './resources.js';

const infos = {
name: 'mcp-demo-server',
version: '0.1.0'
};

const server = new MCP(infos, prompts, resources, tools);

Debugging

You can find logs of the server in your user system logs directory:

Linux:   ~/.local/share/logs
macOS:   ~/Library/Logs
Windows: %USERPROFILE%\AppData\Local\Logs
No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.