Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
JAMJET_BINDNoBind address0.0.0.0
JAMJET_PORTNoPort to listen on8080
JAMJET_DEV_MODENoSkip auth for sandbox testingtrue
STORAGE_BACKENDNoStorage backend: memory (ephemeral) or sqlitememory

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
jamjet_list_agentsA

List all agents registered in the runtime, with optional filters by status, skill, or protocol. Read-only, no side effects. Use this to discover which agents are available before routing work, or to check the health/status of registered agents. Returns a JSON object with an 'agents' array. Each entry includes the agent's ID, name, description, skills, protocol, status, and Agent Card metadata. All filter parameters are optional and can be combined — omit all to list every registered agent. Returns an empty array if no agents match the filters. Related: use jamjet_discover_agent to register a new remote agent before listing.

jamjet_approveA

Submit an approval or rejection decision for a workflow execution that is paused and waiting for human review. Use this when jamjet_list_executions shows a 'paused' execution or jamjet_get_events shows an ApprovalRequested event. Side effects: appends an ApprovalReceived event to the event log (with user_id 'mcp-client') and, if the execution is paused, resumes it to 'running' status so the next node can proceed. The decision is recorded in the immutable audit trail. Returns a JSON object with execution_id and accepted: true. Fails if execution_id is not found or if decision is not exactly 'approved' or 'rejected'. Related: use jamjet_get_events to see the ApprovalRequested event details before deciding.

jamjet_get_eventsA

Retrieve the full, ordered event log for a workflow execution. Read-only, no side effects. Use this to debug execution behavior, understand which nodes ran and in what order, or inspect approval decisions. Returns a JSON object with an 'events' array. Each event has: execution_id, sequence (monotonic counter), timestamp, and kind (one of: WorkflowStarted, NodeScheduled, NodeStarted, NodeCompleted, NodeFailed, ApprovalRequested, ApprovalReceived, WorkflowCompleted, WorkflowCancelled, WorkflowFailed). Events are returned in sequence order (oldest first) and represent the complete, immutable audit trail. For a high-level status summary, use jamjet_get_execution instead.

jamjet_run_workflowA

Start a new durable workflow execution. Use this to kick off a workflow that has already been registered with the runtime. Side effects: creates a new execution record, appends WorkflowStarted and NodeScheduled events to the event log, and enqueues a work item for the first node — the workflow begins processing immediately. Returns a JSON object with the execution_id (format: exec_) that you can pass to jamjet_get_execution, jamjet_get_events, jamjet_cancel_execution, or jamjet_approve. This operation is not reversible — use jamjet_cancel_execution to stop a running workflow. Fails if the workflow_id + version combination is not registered. No authentication required (local-only server).

jamjet_list_executionsA

List workflow executions with optional status filtering and pagination. Read-only, no side effects. Use this to find executions that need attention — for example, filter by 'paused' to find executions awaiting approval via jamjet_approve, or filter by 'running' to monitor active workflows. Returns a JSON object with an 'executions' array, where each entry has the same fields as jamjet_get_execution. Results are ordered by creation time (newest first). Supports offset-based pagination via limit and offset parameters. All parameters are optional — calling with no arguments returns the 50 most recent executions across all statuses.

jamjet_get_executionA

Retrieve the full details of a single workflow execution. Read-only, no side effects. Use this to check an execution's current status, inspect its state, or confirm completion after running jamjet_run_workflow. Returns a JSON object with: execution_id, workflow_id, workflow_version, status (one of: running, paused, completed, failed, cancelled), initial_input, current_state, started_at, updated_at, and completed_at (null if still running). Fails with 'execution not found' if the ID does not exist in the specified tenant. For the full event history, use jamjet_get_events instead.

jamjet_discover_agentA

Discover and register a remote agent by fetching its Agent Card from the given URL. Side effects: makes an outbound HTTP request to the URL to retrieve the agent's metadata (Agent Card), then registers the agent in the local runtime registry so it becomes available for routing and invocation. Use this to onboard external agents (A2A, MCP, or REST) before they can appear in jamjet_list_agents or be routed to by a Coordinator. Returns the full JSON Agent Card of the newly registered agent, including its ID, name, skills, protocol, and endpoint. Fails if the URL is unreachable, does not serve a valid Agent Card, or if a network error occurs. This operation is idempotent — discovering the same URL again updates the existing registration.

jamjet_cancel_executionA

Cancel a running or paused workflow execution. This is an irreversible, destructive operation. Side effects: appends a WorkflowCancelled event to the execution's event log and sets the status to 'cancelled'. The execution cannot be resumed after cancellation — start a new execution with jamjet_run_workflow if needed. Use this when a workflow is stuck, no longer needed, or was started with incorrect input. Returns a JSON object with execution_id and status 'cancelled'. Fails if the execution is already in a terminal state (completed, failed, or cancelled) or if the execution_id is not found.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jamjet-labs/jamjet'

If you have feedback or need assistance with the MCP directory API, please join our Discord server