MCP Declarative Server
A utility module for creating Model Context Protocol (MCP) servers declaratively.
Installation
npm install mcp-client-router
Usage
import { DeclarativeMCPServer } from "mcp-client-router/declarative-server";
// Create a server declaratively
const server = new DeclarativeMCPServer({
name: "my-server",
version: "1.0.0",
// Define tools as arrays of arguments
tools: [
[
"greeting",
{ message: "string" },
async ({ message }) => ({
content: [{ type: "text", text: `Hello, ${message}!` }],
}),
],
[
"farewell",
{ name: "string" },
async ({ name }) => ({
content: [{ type: "text", text: `Goodbye, ${name}!` }],
}),
],
],
// Define prompts
prompts: [
[
"welcome",
{ name: "string", formality: { type: "string", default: "CASUAL" } },
async ({ name, formality }) => {
const text =
formality === "FORMAL"
? `Dear ${name}, welcome to our service.`
: `Hi ${name}! Welcome aboard!`;
return {
messages: [{ role: "assistant", content: { text } }],
};
},
"A welcome prompt template",
],
],
// Define resources
resources: [
[
"docs/readme",
async () => ({
contents: [
{
uri: "docs/readme",
text: "This is the documentation readme file.",
},
],
}),
],
],
});
// Connect to a transport
await server.connect(transport);
API Reference
DeclarativeMCPServer
new DeclarativeMCPServer(options);
Options
name(string): The name of the serverversion(string): The version of the servertools(array): An array of tool definitionsprompts(array): An array of prompt definitionsresources(array): An array of resource definitions
Tool Definition Format
[
name, // string: name of the tool
paramSchema, // object: parameter schema
handler, // function: async function to handle the tool call
description, // string (optional): description of the tool
];
Prompt Definition Format
[
name, // string: name of the prompt
paramSchema, // object: parameter schema
handler, // function: async function to handle the prompt
description, // string (optional): description of the prompt
];
Resource Definition Format
[
uri, // string: URI of the resource
handler, // function: async function to handle the resource request
];
License
ISC
Declarative MCP Server
Project Details
- johnhenry/mcp-declarative-server
- Last Updated: 4/28/2025
Recomended MCP Servers
Model Context Protocol Servers
This is an MCP server that interacts with a PocketBase instance. It allows you to fetch, list, create,...
A simple MCP ODBC server using FastAPI, ODBC and PyODBC.
A simple Model Context Protocol (MCP) server that integrates with Notion's API to manage my personal todo list.
This is MCP server for Claude that gives it terminal control, file system search and diff file editing...
nocodb mcp server
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+...
A powerful MCP (Model Control Protocol) server for preprocessing and analyzing CSV files. This server provides a suite...
Manage your projects and tasks in dida365





