Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Jan Server Documentation

Jan Server is an enterprise-grade microservices LLM API platform with Model Context Protocol (MCP) tool integration.


Quick Start

Step Action Command
1 Clone repository git clone https://github.com/janhq/server.git
2 Run setup wizard cd jan-server && make quickstart
3 Verify health make health-check

Documentation Overview

Getting Started

Document Description
Quickstart Get up and running in 5 minutes
Architecture System design and component responsibilities
First API Call Sample curl request with authentication

API Documentation

Document Description
API Overview Authentication, base URLs, and service mapping
LLM API OpenAI-compatible chat completions, conversations, models
Response API Multi-step tool orchestration
Media API File uploads, jan_* ID resolution
MCP Tools JSON-RPC tool providers
Endpoint Matrix Complete endpoint reference
API Examples Ready-to-use code snippets

Development

Document Description
Development Guide Local setup, Make targets, hybrid mode
Testing Guide Integration tests, unit tests
Configuration Environment variables, config precedence
Service Template Generate new microservices
Conventions Code style, patterns, workflow

Deployment & Operations

Document Description
Deployment Guide Docker Compose deployment
Monitoring Guide Prometheus, Grafana, Jaeger
Authentication Kong + Keycloak integration
Runbooks On-call playbooks and procedures
Troubleshooting Common issues and solutions

Architecture Summary

Services

Service Port Purpose
Kong Gateway 8000 API entry point, auth, routing
LLM API 8080 Chat completions, conversations
Response API 8082 Tool orchestration
Media API 8285 File storage, jan_* IDs
MCP Tools 8091 Search, scrape, code execution

Technology Stack

Component Technology
Gateway Kong 3.5
Services Go 1.24, Gin, Zerolog, Wire
Database PostgreSQL 18
Auth Keycloak 24.0.5
MCP mark3labs/mcp-go v0.7.0
Observability OpenTelemetry, Prometheus, Grafana

Directory Structure

docs/
├── README.md                 # This file
├── quickstart.md             # Getting started guide
├── api/                      # API documentation
│   ├── README.md            # API overview
│   ├── llm-api/             # LLM API reference
│   ├── response-api/        # Response API reference
│   ├── media-api/           # Media API reference
│   ├── mcp-tools/           # MCP Tools reference
│   ├── examples/            # Code examples
│   └── endpoint-matrix.md   # All endpoints
├── architecture/            # Architecture docs
│   ├── README.md            # Architecture overview
│   ├── system-design.md     # How the pieces fit together
│   ├── services.md          # Service breakdown
│   ├── data-flow.md         # Request flow
│   ├── security.md          # Security model
│   ├── observability.md     # Monitoring and tracing
│   └── test-flows.md        # Test suite flows
├── guides/                  # How-to guides
│   ├── README.md            # Guides overview
│   ├── development.md       # Development setup
│   ├── testing.md           # Testing guide
│   ├── deployment.md        # Deployment guide
│   ├── authentication.md    # Auth integration
│   ├── monitoring.md        # Monitoring setup
│   └── troubleshooting.md   # Common issues
├── configuration/           # Configuration
│   ├── README.md            # Config overview
│   ├── env-var-mapping.md   # Environment variables
│   └── docker-compose.md    # Docker setup
├── conventions/             # Code standards
│   ├── conventions.md       # Coding standards
│   └── workflow.md          # Git workflow
└── runbooks/                # Operational procedures
    └── README.md            # Runbooks overview

External Resources


Contributing

See the following files for contribution guidelines: