Indie agent builders, July 25-August 1: the harness is becoming the product

Indie agent builders, July 25-August 1: the harness is becoming the product

This week's strongest builder signals turn the agent harness into explicit infrastructure: stateless MCP, browser boundaries, provider routing, and cheaper loops that engineers can inspect and repeat.

The week in one line

From July 25 to August 1, the most useful builder signals were about the layer around the model: stateless MCP made tool access easier to audit, a cheaper model made end-to-end experiments cheaper to repeat, and several fast-growing repositories treated browsers, provider routing, and shared capabilities as first-class agent infrastructure.
The common thread is less glamorous than autonomy. The hard part is becoming the boundary between intent and side effects: which tools an agent can see, which credentials it can touch, how it recovers from a provider failure, and what evidence survives after the run.

The strongest builder signals

Stateless MCP shrinks the tool boundary

Simon Willison published two closely related pieces on July 31. The first was llm-mcp-client 0.1a0, an initial prototype that exposes tools from MCP servers as tools an LLM can use. The GitHub release is a pre-release, so treat it as a small experiment rather than a stable dependency. 1
The longer build log explains why he returned to MCP after spending more time with Skills and terminal-based agents. Giving an agent shell and network access is powerful, but it creates a broad trust boundary. A tool server with explicit operations and JSON schemas is easier to inspect, restrict, and reason about. 2
The implementation detail worth stealing is the stateless request model. Older MCP flows needed an initialize request, a session ID, and a second request routed through that session. The stateless version puts the method, server name, protocol version, and call context into one HTTP request. That removes session storage and makes horizontal scaling less awkward. 2
Willison also built mcp-explorer, a small CLI with list, inspect, and call commands, and datasette-mcp, a Datasette plugin exposing list_databases(), get_database_schema(), and read-only execute_sql() through a /-/mcp endpoint. The pattern is simple: discover the tool surface, inspect its schema, then make the call. That is a much better starting point for an agent than handing it an arbitrary terminal and hoping the prompt supplies the missing policy. 2

A cheaper model changes the experiment budget

On July 30, Simon Willison said he tried GPT-5.6 Luna in Datasette Agent after an 80% price drop. He described it as very fast and said it generated the SQL, HTML, and JavaScript he wanted for Datasette Apps. This is a builder's report, not an independent speed or quality benchmark. 3
Loading content card…
The useful change is not the adjective "beast." It is the number of times an engineer can afford to run the complete loop: ask for a change, let the agent call tools, inspect the generated app, and try again. Lower inference cost turns interactive trial-and-error from an occasional demo into a plausible development method.
That still leaves two separate measurements. Track cost and latency for the loop, then track whether the generated SQL, HTML, and JavaScript actually pass application-level checks. A model that feels fast while producing a plausible but broken app has only moved the failure earlier in the workflow.

swyx points at two assets worth owning

Swyx's shortest post this week was also his most compressed thesis: "if you can distil models, you can also distil agent harnesses." He did not attach a public implementation or a measured result, so this belongs in the watchlist rather than the evidence column. The idea is still useful: the reusable object may be the full loop—context selection, tools, retries, checks, and handoff—not just the model weights. 4
Loading content card…
In a second post, he argued that demanding higher-quality and fresher web data eventually pushes a team toward building its own crawler, index, and search layer—and that the same system can serve agent inference. That is an inference about where infrastructure tends to go, not a report of a newly shipped project. 5
For smaller teams, the practical reading is narrower: do not assume retrieval is a disposable prompt detail. If your agent depends on fresh web or repository context, measure indexing freshness, search failure modes, and what the model is allowed to treat as instructions. The retrieval layer is part of the harness, even when it lives in a separate service.

GitHub's weekly trend is mostly glue code

GitHub's weekly snapshot put several agent-adjacent infrastructure projects near the top. The star counts below are a snapshot from the week, not a quality ranking or a durable adoption metric. 6
ego-lite from citrolabs had 7,315 stars and gained 4,741 in the weekly snapshot. Its README describes a browser built for agents to share logged-in browser state without disturbing the user's session. The ego-browser layer exposes actions such as snapshot, fill, click, navigate, and capture, while isolated Spaces let multiple agent tasks run in parallel. 6 7
This project also had visible activity through July 27, including changes to browser-automation wording, skill text, and the execution lifecycle. That makes it a more useful signal than a repository that merely appeared in a ranking. 8
The catch is the important part. A browser that inherits cookies, bookmarks, and extensions is convenient precisely because it crosses a credential boundary. If you copy this pattern, use separate browser profiles or Spaces, record which session an agent touched, and treat login inheritance as an explicit permission—not a default convenience.
OmniRoute from diegosouzapw had 36,870 stars and gained 7,701 in the same snapshot. Its README presents a local gateway for Claude Code, Codex, Cursor, OpenCode, Cline, and similar tools: one endpoint, provider selection, fallback, circuit breakers, and multiple routing strategies. It also claims RTK plus Caveman compression can save 15–95% of tokens, with roughly 89% average savings on tool-heavy sessions. Those are project claims, not an independent benchmark. 6 9
The architectural idea is sound even if the headline numbers need testing. Keep provider failures, quota exhaustion, cost limits, and token compression below the task layer. Then an agent can retry or switch models without changing the task contract. The required instrumentation is equally clear: log the route decision, retry count, token count, latency, and final task outcome.
OpenWork from different-ai had 19,883 stars and gained 2,213 in the snapshot. Its README describes an MCP capability layer that can be shared across Codex, Claude Code, Cursor, and other clients. It exposes search_capabilities and execute_capability, which is a small but legible abstraction: find a capability, then run the selected one. 6 10
OpenWork is not included here as a newly dated release—the repository page did not expose a usable in-window release date in the retrieved material. It is included as a trend signal because it shows where the shared layer is moving: capabilities are becoming portable objects that can travel between clients, teammates, and machines.

What to try this week

  1. Put one internal tool behind a stateless MCP endpoint. Make the operation list and JSON schema visible, start with read-only access, and compare its audit trail with the same task run through shell access.
  2. Add a loop-level cost report to your agent. Record model, route, retries, input and output tokens, latency, tool failures, and whether the task passed its real checks.
  3. Treat browser sessions as credentials. Use a dedicated profile, make session inheritance opt-in, and log every agent action that can read or mutate authenticated state.
  4. Make retrieval measurable. Record source freshness, failed searches, and which retrieved text was allowed to influence a tool call.
  5. Package the harness, not just the prompt. Keep the task contract, tool schemas, fallback policy, verification steps, and useful traces together so another model—or another engineer—can reproduce the run.
The model still supplies the intelligence, but this week's builds put more value in the plumbing that constrains and repeats it. A smaller tool boundary, a cheaper retry loop, a portable capability, or a visible route decision is easier to test than a claim that an agent is simply more autonomous.
Coverage window: July 25-August 1, 2026, ending at 10:00 AM Pacific Time.

Related content

  • Sign in to comment.
More from this channel