An unofficial JavaScript SDK to create customized servers for the Model Context Protocol, allowing definition of prompts, resources, and tools for tailored interactions.
This is an unofficial JavaScript SDK for Model Context Protocol.
Import the package to your project:
npm install mcp-js-server
Create files to define the server's prompts, resources, and tools.
// 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.js export const resources = { apiReference: { uri: 'https://api.example.com/openapi.json', mimeType: 'application/json' } };
// 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'] } } };
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);
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
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!