Skilder
Concepts

How Skilder Works

Understand the architecture of Skilder — how agents connect, how tools execute, and how data flows through the system.

Skilder is an MCP server that your AI agents connect to. It builds capabilities by bundling MCP tools with instructions and scripts into skills. When an agent calls a tool, Skilder authenticates the request, checks permissions, routes it to the right underlying MCP server, and returns the result.

System Overview

The remote MCP server and the runtime are two separate services. The first is the public endpoint your agent talks to; the second is where tools and scripts actually execute — potentially on your own infrastructure. Nothing executes on the MCP server, and agents never talk to a runtime directly.

Components

ComponentTechnologyWhat It Does
Remote MCP ServerNode.js + MCP SDKThe public /mcp endpoint agents connect to. Terminates OAuth, holds MCP sessions, resolves skills, fans tool calls out over NATS. Executes nothing
APIFastify + Apollo GraphQLAuthentication, permission checks, skill and catalog resolution, OAuth authorization server
DatabaseDgraph (graph DB)Stores workspaces, skills, roles, MCP configs, and their relationships
Message BusNATSReal-time communication between the API, the MCP server, and runtimes
FrontendReact + Vite + TailwindManagement console for configuring everything
RuntimeDistributed Node.jsRuns MCP server processes and skill scripts, and calls out to external services

What Happens When an Agent Calls a Tool

Step by step

  1. Authentication — The agent sends its API key to the remote MCP server, which validates it against the API and identifies the associated role.
  2. Permission check — The MCP server verifies the tool belongs to a skill in that role.
  3. Server resolution — Looks up which MCP server provides the tool and which runtime the workspace runs on.
  4. Message routing — Publishes the tool call to NATS, which routes it to that runtime.
  5. Execution — The runtime invokes the MCP server process, which calls the external service.
  6. Response — The result flows back through NATS to the remote MCP server and then to the agent.

Design Principles

  • Protocol-first — Implements the Model Context Protocol standard. Any MCP-compatible server works out of the box.
  • Graph-native — Relationships between workspaces, skills, roles, and servers are stored as a graph, making permission resolution fast and flexible.
  • Event-driven — NATS decouples the API from runtime execution. This enables horizontal scaling and reliable message delivery.
  • Real-time — WebSocket subscriptions keep the UI in sync with backend state. No polling needed.