Okto Pulse

A local-first SDLC workbench that governs AI-assisted delivery with explicit specifications, quality gates, and durable project memory.

Stars
★ 95
Last updated
2d ago
License
NOASSERTION
Primary language
Python

At a glance

How it runs
CLIWeb appMCP server
Works with
Universal · cross-platformCodex · Claude CodeClaude.ai (Partial support)
Cost
Free, no paid service needed
Setup effort
Low · running in minutes
You'll need
Python 3.11+all-MiniLM-L6-v2 model download for semantic searchDocker (optional deployment path)Shell / CLINetwork accessLocal filesystemMCP Server
Typical use
A team using Codex, Claude Code, Cursor, or another MCP client wants requirements, acceptance criteria, and test scenarios established before code changes begin.
Not a fit if
  • Teams that need to offer the software to third parties as a hosted service
  • Teams unwilling to adopt enforced specification, validation, and governance workflows
  • Environments unable to run Python 3.11 or later
Source review
80/100 · Good

What does this agent do, and when should you use it?

Okto Pulse is a local-first software-development workbench that organizes stories, ideation, refinement, specifications, sprints, tasks, tests, and bugs into a traceable workflow. It combines `okto-pulse-core`, which owns the domain model, governance gates, and Knowledge Graph contracts, with a community package that supplies SQLite, Okto Grafx, filesystem, scheduler, REST, React UI, and FastMCP implementations. Humans inspect and steer work in the browser while coding agents create and update the same structured artifacts through a local MCP server. `okto-pulse serve` runs the Web UI/API and MCP listeners in one Python process to preserve the embedded graph database's single-writer model. Its outputs include linked specifications and execution cards, validation evidence, task conclusions, code-investigation receipts, and searchable per-board knowledge graphs. It suits teams that want self-hosted process governance and project memory, but it does not replace the coding agent or execute source-code investigations itself.

The workflow begins with okto-pulse init, which creates local state under ~/.okto-pulse/, seeds a default board and agent, and writes a project-local .mcp.json. After okto-pulse serve starts, people work through the UI/API at http://localhost:8100, while coding agents call the Core tool catalog through http://localhost:8101/mcp. Pulse stores Stories, Ideation, Refinement, Specs, Sprints, Tasks, Tests, and Bugs as structured artifacts with statuses, lineage, and validation rules; transitions check specification coverage, resource readiness, test evidence, bug traceability, task conclusions, and independent review requirements. Its per-board Knowledge Graph consolidates specifications, bugs, decisions, and implementation conclusions so agents can retrieve related decisions, identify contradictions or superseded context, reuse bug lessons, and query Global Discovery across boards. The CLI also exposes okto-pulse code-traceability records, verify-pipeline, KG health diagnostics, schema migration, backfill, JSON-LD export, and local metrics management. The community runtime does not acquire, clone, browse, probe, or inspect source code; an external agent performs those actions in its own environment and submits bounded results.

  1. A team using Codex, Claude Code, Cursor, or another MCP client wants requirements, acceptance criteria, and test scenarios established before code changes begin.
  2. A long-running product team needs searchable local memory built from previous specifications, decisions, bugs, and implementation conclusions.
  3. An engineering lead wants AI-assisted work blocked until coverage, validation evidence, task conclusions, and architecture findings satisfy defined gates.
  4. A privacy-conscious team wants SQLite data, graph storage, uploads, and metrics to remain on its own machine or Docker volume.
  5. A feature owner needs to approve a specification before dividing a large change into sprints and reviewable implementation batches.
  6. An operator needs health endpoints, dead-letter metrics, and KG recovery commands for diagnosing an embedded project knowledge graph.

How do you install or deploy this agent?

Python 3.11 or later is required. Install the package from PyPI:

pip install okto-pulse

Initialize it inside the project directory where the coding agent will work:

okto-pulse init

On first run, Pulse attempts to download all-MiniLM-L6-v2 into the Hugging Face cache for Knowledge Graph semantic search. If that download fails, the application still starts in deterministic stub mode, with semantic search disabled. No external LLM API key is documented as a requirement; local MCP access uses a Pulse agent key revealed once after creation or rotation.

How do you use this agent?

Start the Web UI/API and MCP server:

okto-pulse serve

Open http://localhost:8100, select the default board, and create either a Story or an Ideation. The default MCP endpoint is http://localhost:8101/mcp, and many agent tools can discover the generated .mcp.json when launched from the project directory. Its generated shape is:

{
  "mcpServers": {
    "okto-pulse": {
      "url": "http://localhost:8101/mcp?api_key=dash_..."
    }
  }
}

For Codex, create an agent or regenerate its key under Menu → Agents, choose Codex (CLI), and run the copied command:

codex mcp add okto-pulse --url "<Pulse MCP URL with agent key>"

After rotating a key, copy the new command and restart the Codex session; the old key stops working, and board access must still be granted in Pulse. Regenerate agent configuration after changing the MCP port:

okto-pulse init --agents

A published container image is also available:

docker run -d --name okto-pulse \
  -e HOST=0.0.0.0 \
  -e MCP_HOST=0.0.0.0 \
  -p 8100:8100 \
  -p 8101:8101 \
  -v okto-pulse-data:/data \
  ghcr.io/oktolabsai/okto-pulse:latest

Retrieve the container's bootstrap API key with:

docker exec okto-pulse okto-pulse api-key

What are this agent's strengths and limitations?

Pros
  • People and coding agents operate the same specification, task, test, and bug artifacts through complementary Web UI and MCP interfaces.
  • Governance covers scenarios, business rules, API contracts, tasks, test evidence, bug traceability, conclusions, and architecture findings rather than merely tracking cards.
  • SQLite, Okto Grafx, uploads, and metrics remain local by default, with a documented persistent Docker-volume deployment.
  • The Knowledge Graph preserves lineage, prior decisions, contradictions, superseded context, bug lessons, and cross-board discovery data.
  • MCP response projections named summary, detail, and full let users trade response depth against agent context consumption.
Limitations
  • Enforced transitions and coverage checks add specification, evidence, conclusion, and maintenance overhead for teams that prefer unstructured rapid coding.
  • Semantic search depends on downloading all-MiniLM-L6-v2; without it, Pulse runs only with deterministic stub behavior and semantic search disabled.
  • The community runtime does not inspect source code itself, so an external coding agent must handle repository access, capability checks, and investigations.
  • Embedded persistence enforces a single-writer model, and MCP execution has fixed writer, concurrency, and queue admission limits.
  • The README identifies Elastic License 2.0 and prohibits offering the software as a hosted or managed service to third parties, while repository license metadata is NOASSERTION.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Okto Pulse This agent 80 · Good CLIFree ★ 95 2d ago Python Codex · Claude Code
MCP Memory Service 68 · Some gaps MCP serverFree ★ 2k 1d ago Python ChatGPT · Codex · Claude Code · Claude.ai
MemoMind Memory Layer 40 · Major gaps MCP serverFree + model costs ★ 605 1mo ago Python Claude Code · OpenAI API · Claude API
Agents Towards Production 0 · Major gaps Library / SDKFree + model costs ★ 21k 5d ago Jupyter Notebook —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Good
80/ 100 5-point scale 4.0 / 5
Trust 21/29
Reliability 9/14
Adaptability 16/18
Convention 16/18
Effectiveness 12/13
Verifiability 6/8
Why each dimension lost points
Trust21 / 29 · 3.6/5

The project defaults to loopback listeners, documents read-only diagnostics, single-writer constraints, permission gates, and human controls, and requires --yes, UI confirmation, or a dry-run default for several consequential operations such as metrics deletion, bulk DLQ redrive, and KG backfill. It also discloses local storage, the first-run model download, opt-in telemetry, MCP traces, and listening ports. Deductions apply because CORS_ORIGINS defaults to *, the API key is placed in a URL query parameter and copied commands may persist in shell history or Codex configuration, and the sensitivity and retention of MCP traces are not explained. Dependencies have bounded versions, selected exact pins, and a pinned Grafx source revision, but there is no supplied lockfile, SBOM, vulnerability scan, or artifact-signing evidence. Recovery and quarantine restoration are described, but reset deletes state and kg unmerge explicitly does not repoint edges, so rollback is not comprehensive. Okto Labs attribution and contacts are clear in the files, although publisher identity remains externally unverified.

Reliability9 / 14 · 3.2/5

Static evidence covers dependency installation, isolated wheel checks, the Community test suite, Docker building, and deterministic stub operation when the embedding model is unavailable. Saturated MCP calls also have a retryable result and retry-after instruction. Failure behavior is unusually specific, including status exit codes, health severity, lock and WAL troubleshooting, and contextual error guidance. The principal deduction is internal inconsistency: Platform Surface claims 18 governance gates while the Governance Gates section says 17, and SECURITY.md lists only 0.1.x as supported although the package is at 0.3.3. Those conflicts materially weaken confidence in feature and support claims.

Adaptability16 / 18 · 4.4/5

The material clearly addresses developers, teams, container deployments, and several coding-agent clients. It thoroughly separates the Stories-to-Bugs workflow and the responsibilities of Core, Community, REST, MCP, SaaS, and the external agent. Python, source, Docker, port, storage, concurrency, and Grafx policy guidance provide strong environment fit. Trigger precision is deducted because status-transition gates are explained, but the supplied material does not contain per-tool selection rules, parameter contracts, or mis-trigger protections for the 340-tool MCP catalogue, so precise agent routing cannot be fully assessed.

Convention16 / 18 · 4.4/5

The README provides a strong table of contents, reference-document map, workflow tables, CLI reference, environment-variable reference, storage layout, source and Docker installation, and troubleshooting guidance. Examples cover common agents and deployment styles, while limitations such as single-writer ownership, embedding fallback, shared-filesystem risks, and unsupported direct SQL repair are explicit. The full license and addendum consistently identify Elastic-2.0, and version 0.3.3 plus a multi-version release-note path are documented. Deductions arise from naming and version drift, notably the 17-versus-18 gate count and stale security support table, and from reliance on referenced documents not included here. Maintenance contacts are present, but the currently supported security line is unclear and publisher identity is unknown.

Effectiveness12 / 13 · 4.6/5

The promised outputs are directly usable: structured SDLC artifacts, inspectable lineage, governance gates, KG health, JSON-LD export, machine-readable CLI status, and MCP interfaces. Combining specs, tests, bugs, decisions, and durable knowledge appears to add substantial value beyond a generic task board. Cost disclosures cover the Python requirement, model download, fixed MCP catalogue context, response projections, concurrency limits, and strict-mode overhead. Full credit is withheld because the referenced measured token report is absent, and the supplied evidence contains no concrete resource benchmarks, migration-cost analysis, or operating data at scale.

Verifiability6 / 8 · 3.8/5

Many claims are tied to concrete commands, configuration keys, named tests, CI checks, adapter boundaries, and dedicated documentation. README, pyproject, CI, and frontend tests corroborate the package version, broad architecture, build process, and selected interaction behavior. The text also carefully distinguishes diagnostics from repair, liveness from integrity, current Community behavior from possible SaaS injection, and defaults from exceptions. Deductions apply because most referenced documents and the companion Core repository are not included, leaving major figures such as 340 tools, 156 adapters, release validation, and measured token costs only partly corroborated; the governance-gate and supported-version contradictions further limit traceability.

Risks and how to mitigate them
  • The API key appears in an MCP URL and copied CLI command, so browser infrastructure, proxy logs, shell history, or configuration files may retain it; treat it as a credential and rotate it promptly.
  • The default CORS_ORIGINS=* is neither authentication nor a firewall. Non-loopback deployments should restrict origins and add separate network access controls.
  • MCP tracing writes local files, but the supplied material does not define redaction, file permissions, retention, or cleanup. Review possible source-code and business-data exposure before enabling it.
  • SECURITY.md supports only 0.1.x while the current package is 0.3.3; confirm the actual patch commitment for 0.3.x before deployment.
  • The Elastic-2.0 addendum restricts multi-tenant hosting, competing services, some large internal platforms, and branding changes; it should not be treated as a permissive open-source license.
  • The reset command deletes SQLite data, uploads, and graph directories; create and test a recoverable backup before use.
Evidence confidence: Low Reviewed Sep 26, 2026 Reviewed revision 3d608bf6367b
See the full review method →

FAQ

Does Okto Pulse require a paid model or API?
No specific model API or paid service is documented as a requirement. Pulse runs locally and connects to an external coding agent over MCP; any cost for that agent depends on the product you choose.
Will it start without network access?
Yes, if the all-MiniLM-L6-v2 download cannot complete, Pulse starts in deterministic stub mode, but Knowledge Graph semantic search is disabled. Initial package and model acquisition still require a network source.
Does connecting an agent automatically grant access to every board?
No. The MCP URL carries a reveal-once agent key, but configuring the connection does not grant board access; permissions must still be assigned in Pulse.
Does Pulse clone and inspect repositories on its own?
No. The community edition explicitly avoids acquiring, cloning, browsing, probing, or inspecting source code. An external agent performs the investigation and submits bounded results and receipts.
Can I offer it as a customer-facing hosted service?
The README describes Elastic License 2.0 as allowing personal and commercial use while prohibiting provision of the software to third parties as a hosted or managed service.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents