MCP JavaScript Server

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
-
security - not tested
A
license - permissive license
-
quality - not tested

An unofficial JavaScript SDK to create customized servers for the Model Context Protocol, allowing definition of prompts, resources, and tools for tailored interactions.

  1. Usage
    1. Prompts
      1. Resources
        1. Tools
          1. Server
            1. Debugging