Labsco
datron logo

Jilebi

โ˜… 4

from datron

A secure, extensible MCP runtime with JS plugins

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeNeeds API keys
<p align="center"> <img src="website/static/img/jilebi_logo.svg" alt="Jilebi Logo" width="120" height="120" /> </p> <p align="center"> <pre> $$$$$\ $$\ $$\ $$\ $$\ \__$$ |\__|$$ | $$ | \__| $$ |$$\ $$ | $$$$$$\ $$$$$$$\ $$\ $$ |$$ |$$ |$$ __$$\ $$ __$$\ $$ | $$\ $$ |$$ |$$ |$$$$$$$$ |$$ | $$ |$$ | $$ | $$ |$$ |$$ |$$ ____|$$ | $$ |$$ | \$$$$$$ |$$ |$$ |\$$$$$$$\ $$$$$$$ |$$ | \______/ \__|\__| \_______|\_______/ \__| </pre> </p> <p align="center"> <a href="https://jilebi.ai">https://jilebi.ai</a> </p>

A powerful, plugin-based MCP (Model Context Protocol) server that extends AI assistants with custom tools, resources, and prompts.


Table of Contents


Overview

Jilebi is an MCP server implementation that enables AI assistants to interact with external systems through a modular plugin architecture. It provides a standardized way to expose tools, resources, and prompts to language models while maintaining security through a granular permission system.

Key Features:

  • Cross-platform support (Windows, Linux, macOS)
  • Plugin-based extensibility
  • Secure permission model for file system and network access
  • Persistent state management for plugins
  • Compatible with major AI development environments

Manual Download

PlatformArchitectureDownload
Windows 10/11x86_64Download
Linuxx86_64Download
macOSApple SiliconDownload
macOSIntelDownload

Plugin System

Plugins extend Jilebi with custom functionality through three main components:

ComponentDescription
ToolsFunctions that models can invoke to interact with external systems
ResourcesRead-only data sources for context (files, schemas, documentation)
PromptsPre-defined conversation templates with argument interpolation

Managing Plugins

# Install a plugin
jilebi plugins add <plugin-name>

# Create a new plugin
jilebi plugins create

# Setup/reconfigure a plugin
jilebi plugins setup <plugin-name>

# View plugin logs
jilebi plugins log <plugin-id>

Creating Plugins

Quick Start

jilebi plugins create

Follow the prompts to bootstrap a new plugin project.

Plugin Manifest

Plugins are defined using a TOML manifest file. Here is an example structure:

# Metadata
name = "my-plugin"
version = "1.0.0"
homepage = "github.com/user/my-plugin"
creator = "Your Name"
contact = "you@example.com"

# Environment Variables
[env]
API_URL = { schema = { type = "string" }, default = "https://api.example.com" }

# Secrets (no defaults allowed)
[secrets]
API_KEY = { schema = { type = "string" } }

# Tools
[tools.my-tool]
name = "my-tool"
description = "Description of what this tool does"
input_schema = { type = "object", properties = { param = { type = "string" } }, required = ["param"] }
function = "my_tool_function"

[tools.my-tool.permissions]
hosts = ["https://api.example.com"]

# Resources
[resources.my-resource]
name = "my-resource"
description = "Description of this resource"
mime_type = "application/json"
function = "get_resource"

# Prompts
[prompts.my-prompt]
name = "my-prompt"
description = "A helpful prompt template"
arguments = [
  { name = "topic", description = "The topic to discuss", required = true }
]
messages = [
  { role = "user", content = { type = "text", content = "Tell me about {{topic}}" } }
]

Permission Types

Plugins can request the following permissions:

PermissionDescription
hostsAllowed host domains for network requests
urlsSpecific allowed URLs
read_filesFile paths the plugin can read
write_filesFile paths the plugin can write
read_dirsDirectories the plugin can read from
write_dirsDirectories the plugin can write to

Use "user_defined" to prompt the user for a custom value during setup.

Built-in Functions

Plugins have access to:

State Management:

  • setState(env, key, value) - Persist data across sessions
  • getState(env, key) - Retrieve persisted data
  • deleteState(env, key) - Remove persisted data

File System (Deno API):

  • Directory operations: mkdir, readDir
  • File operations: readFile, writeFile, readTextFile, writeTextFile
  • File manipulation: stat, copyFile, rename, remove
  • Temporary files: makeTempDir, makeTempFile
  • And more...

Logging and Debugging

Log Locations

PlatformPath
WindowsC:\Users\<user>\AppData\Roaming\jilebi\jilebi-server\data\logs
Linux~/.local/share/jilebi-server/logs/
macOS~/Library/Application Support/ai.jilebi.jilebi-server/logs

Viewing Logs

# View Jilebi server logs
jilebi log

# View plugin-specific logs
jilebi plugins log <plugin-id>

Writing Logs in Plugins

console.log("Info message");
console.warn("Warning message");
console.error("Error message");
console.debug("Debug message");

Links


<p align="center"> <sub>Built with the Model Context Protocol (MCP) specification version 2025-03-26</sub> </p>