MCP Server
MCP-Server – Ein Node-In-Layers-Paket zum Erstellen von MCP-Servern
Diese Bibliothek bietet die Möglichkeit, mit Node In Layers einfach MCP-Server zu erstellen.
Es gibt eine Begleitbibliothek namens „@node-in-layers/mcp-client“, die zum Erstellen von MCP-Clients verwendet wird. Diese beiden Bibliotheken nutzen dieselben Funktionen zum Definieren von Modellen und Tools.
Neue Ebene
Diese Bibliothek fügt dem System eine neue mcp Ebene hinzu. Sie sollte nach der express -Ebene platziert werden.
Related MCP server: MCP Server
Verwendung
Um diese Bibliothek zu verwenden, müssen Sie Ergänzungen an Ihrer Konfiguration vornehmen sowie „mcp“-Ebenen aus Ihren Apps/Domänen erstellen und exportieren.
Konfiguration
Sie fügen diese App/Domäne zu Ihrer Konfigurationsdatei hinzu. Sie sollten dies vor Ihren Apps tun, die Tools zum MCP-Server hinzufügen.
Anschließend konfigurieren Sie die mcp -App/Domäne wie folgt:
const mcpConfig = {
// (optional) The name of your MCP server.
name: 'mcp',
// (optional) The version of your MCP server.
version: '1.0.0',
// The server config from @l4t/mcp-ai/simple-server/types.js
server: {
connection: {
type: 'http',
host: 'localhost',
port: 3000,
},
},
logging: {
// optional
// If you want to change the default. Its 'info' by default.
requestLogLevel: 'info',
// If you want to change the default. Its 'info' by default.
responseLogLevel: 'info',
},
}
const config = {
['@node-in-layers/mcp-server']: mcpConfig,
}Erstellen einer MCP-Ebene
Sie können eine MCP-Ebene erstellen, indem Sie aus Ihrer App/Domäne eine Funktion exportieren, die eine Ebene zurückgibt.
// /src/yourDomain/mcp.ts
import { McpContext, McpNamespace } from '@node-in-layers/mcp-server'
import { Config } from '@node-in-layers/core'
import { YourFeaturesLayer } from './features.js'
const create = (context: McpContext<Config, YourFeaturesLayer>) => {
// Adds your tool.
context.mcp[McpNamespace].addTool({
name: 'my-hello-world-tool',
description: 'My Tool',
execute: async (input: any) => {
return 'Hello, world!'
},
})
// Create a tool from your feature
context.mcp[McpNamespace].addTool({
name: 'my-hello-world-tool',
description: 'My Tool',
inputSchema: {
type: 'object',
properties: {
name: {
type: 'string',
},
},
required: ['name'],
},
execute: (input: any) => {
// You get an object, pass it back to your feature. Handles async for you.
return context.features.yourDomain.yourFeature(input)
},
})
return {}
}
export { create }Modelle hinzufügen
Sie können Ihre Modelle mit CRUDS-Funktionen umschließen und sie mit der MCP-Ebene zum MCP-Server hinzufügen. HINWEIS: Damit dies funktioniert, muss Ihre Ebene sowohl eine Service- als auch eine Feature-Ebene enthalten. (Zusätzlich zu Ihren Modellen.) Knoten in Ebenen erstellen automatisch eine CRUDS-Eigenschaft für Ihre Modelle, die Sie hinzufügen können.
Hier ist ein Beispiel, wie man es einzeln durchführt. (Im Allgemeinen nicht empfohlen, aber machbar).
// /src/yourDomain/mcp.ts
import { McpContext, McpNamespace } from '@node-in-layers/mcp-server'
import { Config } from '@node-in-layers/core'
import { YourFeaturesLayer } from './features.js'
const create = (context: McpContext<Config, YourFeaturesLayer>) => {
// Adds your models cruds through features.
context.mcp[McpNamespace].addModelCruds(
context.features.yourFeature.cruds.Cars
)
return {}
}Hier ist eine Möglichkeit, wie Sie wirklich mit Gas kochen können. (Sehr empfehlenswert)
// /src/yourDomain/mcp.ts
import { McpContext, McpNamespace, mcpModels } from '@node-in-layers/mcp-server'
import { Config } from '@node-in-layers/core'
import { YourFeaturesLayer } from './features.js'
const create = (context: McpContext<Config, YourFeaturesLayer>) => {
// This automatically adds ALL of your models from features.
mcpModels('yourDomain')(context)
return {}
}Eine weitere Möglichkeit, das Hinzufügen von Modellen zu organisieren, ist die Verwendung einer zentralen MCP-Domäne. Setzen Sie diese als letzte Domäne, nachdem alle anderen Domänen geladen wurden.
// /src/mcp/mcp.ts
import { McpContext, McpNamespace, mcpModels } from '@node-in-layers/mcp-server'
import { Config } from '@node-in-layers/core'
const create = (context: McpContext<Config>) => {
// Add all your models for your whole system in one go.
mcpModels('yourDomain')(context)
mcpModels('yourDomain2')(context)
mcpModels('yourDomain3')(context)
mcpModels('yourDomain4')(context)
return {}
}This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for AI-driven data ops. Create apps, manage schemas, and CRUD structured data.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
A Model Context Protocol (MCP) server for Selise Blocks Cloud integration
Related MCP Servers
- AlicenseBqualityDmaintenanceA comprehensive Model Context Protocol server that provides advanced Node.js development tooling for automating project creation, component generation, package management, and documentation with AI-powered assistance.79MIT
- AlicenseNot gradedqualityFmaintenanceA configurable server implementation that provides MCP (Model-Controller-Protocol) functionality, supporting both Node.js and Docker environments with automated setup and configuration options.280 npmMIT
- AlicenseAqualityDmaintenanceA lightweight framework for building and running Model Context Protocol (MCP) servers using FastMCP, providing tools for development, debugging, and server management.4MIT
- FlicenseNot gradedqualityDmaintenanceA production-ready MCP server built with Node.js and Express that supports remote deployment via HTTP and SSE. It provides a modular framework for building and scaling tools while serving multiple clients concurrently.-