AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Open Harness

mcp-maxgfeller-open-harness · by MaxGfeller

A code-first, composable SDK to build powerful AI agents

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add mcp-maxgfeller-open-harness

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-maxgfeller-open-harness)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Open Harness? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

OpenHarness

Build capable, general-purpose AI agents in code. Based on Vercel's AI SDK, inspired by Claude Code, Codex, and similar agent harnesses.

Documentation

Packages

| Package | Description | | --- | --- | | [@openharness/core](packages/core) | Agent, Session, Conversation, middleware, tools, UI stream integration | | [@openharness/provider-chatgpt](packages/provider-chatgpt) | Experimental ChatGPT/Codex OAuth model provider for ChatGPT subscription-backed local harnesses | | [@openharness/provider-vfs](packages/provider-vfs) | Virtual filesystem provider for sandboxed, in-memory, or SQLite-backed file access | | [@openharness/react](packages/react) | React hooks and provider for AI SDK 5 chat UIs | | [@openharness/vue](packages/vue) | Vue 3 composables and provider for AI SDK 5 chat UIs |

Quick Start

npm install @openharness/core @ai-sdk/openai
import { Agent, createFsTools, createBashTool, NodeFsProvider, NodeShellProvider } from "@openharness/core";
import { openai } from "@ai-sdk/openai";

const agent = new Agent({
  name: "dev",
  model: openai("gpt-5.4"),
  tools: {
    ...createFsTools(new NodeFsProvider()),
    ...createBashTool(new NodeShellProvider()),
  },
  maxSteps: 20,
});

for await (const event of agent.run([], "Refactor the auth module")) {
  if (event.type === "text.delta") process.stdout.write(event.text);
}

Multi-Turn with Sessions

import { Session } from "@openharness/core";

const session = new Session({ agent, contextWindow: 128_000 });

for await (const event of session.send("List all TypeScript files")) {
  if (event.type === "text.delta") process.stdout.write(event.text);
}

// Session remembers the conversation, handles compaction and retry
for await (const event of session.send("Now refactor the largest one")) {
  if (event.type === "text.delta") process.stdout.write(event.text);
}

Composable Middleware

import { Conversation, toRunner, apply, withTurnTracking, withCompaction, withRetry } from "@openharness/core";

const runner = apply(
  toRunner(agent),
  withTurnTracking(),
  withCompaction({ contextWindow: 200_000, model: agent.model }),
  withRetry({ maxRetries: 5 }),
);

const chat = new Conversation({ runner });
for await (const event of chat.send("Fix the bug")) { /* ... */ }

Subagents

Built-in subagents stay stateless by default, but you can now opt into:

  • Dynamic subagent catalogs resolved at run time
  • Resumable subagent sessions built on top of Session
  • Background runs with separate run IDs and session IDs

Examples

| Example | Run | | --- | --- | | [CLI agent](examples/cli) — terminal agent with tool approval and subagents | pnpm --filter cli-demo start or pnpm --filter cli-demo start -- --chatgpt | | [Next.js chat](examples/nextjs-demo) — streaming chat with @openharness/react | pnpm --filter nextjs-demo dev | | [Nuxt chat](examples/nuxt-demo) — streaming chat with @openharness/vue | pnpm --filter nuxt-demo dev |

By default the examples use OPENAI_API_KEY. The CLI agent can instead use ChatGPT/Codex OAuth with --chatgpt.

To run them:

git clone https://github.com/MaxGfeller/open-harness.git
cd open-harness
echo "OPENAI_API_KEY=sk-..." > .env
pnpm install && pnpm build

Learn More

See the full documentation at docs.open-harness.dev for:

  • Agents — stateless executors, events, configuration
  • Sessions — compaction, retry, persistence, hooks
  • Middleware — composable middleware and the Conversation API
  • Tools — filesystem, bash, custom tools, permissions
  • Subagents — nested delegation, dynamic catalogs, resumable sessions, and background execution
  • MCP Servers — Model Context Protocol integration
  • Skills — on-demand instruction packages
  • UI Integration — React and Vue streaming

License

MIT — see [LICENSE](./LICENSE) for details.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.