Skip to main content

A flexible LLM orchestration framework with tool calling capabilities via MCP protocol

Project description

Jiki

Jiki is a flexible LLM orchestration framework with built-in tool calling capabilities.

Overview

Jiki provides a clean interface for building AI assistants that can use tools to solve problems. It orchestrates the interaction between language models and external tools using the MCP (Model-Call-Platform) protocol.

Features

  • Seamless integration with LiteLLM for support of multiple LLM providers
  • Tool calling through FastMCP infrastructure
  • Flexible MCP client with multiple transport options (stdio, SSE)
  • Structured conversation logging for training data generation
  • Simple CLI interface for interactive use
  • XML-based tool call format for clear model interaction

Quick Start

uv add jiki
from jiki import create_orchestrator

# Create a preconfigured orchestrator with sensible defaults
components = create_orchestrator(
    model_name="anthropic/claude-3-7-sonnet-latest",
    tools_config_path="tools.json",
    mcp_mode="stdio"
)

# Get the orchestrator instance
orchestrator = components["orchestrator"]

# Process a user query
import asyncio
result = asyncio.run(orchestrator.process_user_input("What is 2+2?"))
print(result)

CLI Usage

uv run main.py

Creating Custom Tools

Tools are defined in JSON format and implemented using FastMCP:

{
  "tool_name": "add",
  "description": "Add two numbers",
  "arguments": {
    "a": {"type": "integer", "description": "First number"},
    "b": {"type": "integer", "description": "Second number"}
  }
}

Server implementation:

from fastmcp import FastMCP

mcp = FastMCP("Calculator")

@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

if __name__ == "__main__":
    mcp.run()

Requirements

  • Python 3.11+
  • litellm
  • fastmcp >= 2.1.1
  • mcp

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jiki-0.0.2.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jiki-0.0.2-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file jiki-0.0.2.tar.gz.

File metadata

  • Download URL: jiki-0.0.2.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.13

File hashes

Hashes for jiki-0.0.2.tar.gz
Algorithm Hash digest
SHA256 55dd7128a89c99423ef773811f4472d0c5989f9055693fea88b837b763db37e2
MD5 77d3c58501a66cfbbfe0a0389cd663b9
BLAKE2b-256 36ffcafc47dc2ba3d14e9f345333ce354d14a754656e74bf211d596a807efd04

See more details on using hashes here.

File details

Details for the file jiki-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: jiki-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 14.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.13

File hashes

Hashes for jiki-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0bf0ed88221bed46ae35fa278fed076bc8a490a4ad416f617a675d7d02f0fae4
MD5 cd8e92d30f2952e6240f77113acf4c3c
BLAKE2b-256 e069f3af9d200d7ad0e360c43092c4487a1e5ca7e65f44e4685aa73be0cfd071

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page