MCP ExplorerExplorer

Mcp Js Server

@davlgdon 9 months ago
4 Apache-2.0
FreeCommunity
AI Systems
#ai#mcp#stdio
An unofficial JavaScript SDK for Model Context Protocol

Overview

What is Mcp Js Server

mcp-js-server is an unofficial JavaScript SDK designed for implementing the Model Context Protocol, allowing developers to create interactive applications that utilize context-aware features.

Use cases

Use cases for mcp-js-server include creating a simple greeting application, developing complex tools for data processing, and building chatbots that respond to user inputs based on defined prompts.

How to use

To use mcp-js-server, install it via npm with ‘npm install mcp-js-server’. Define prompts, resources, and tools in separate files, and then create a server instance by importing these definitions.

Key features

Key features of mcp-js-server include the ability to define custom prompts, manage resources, and implement tools with specific handlers, enabling developers to create tailored interactions.

Where to use

mcp-js-server can be used in various domains such as web applications, chatbots, and any interactive software that benefits from context-aware communication.

Content

MCP Server - JavaScript SDK

This is an unofficial JavaScript SDK for Model Context Protocol.

Usage

Import the package to your project:

npm install mcp-js-server

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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers