Blog

Insights from the Glass Box

Field notes on agentic AI, the Model Context Protocol, observability, and building transparent, portable AI workflows.

MCP

What an MCP client, server and endpoint are

The client lives in your AI app, the server offers tools, the endpoint is the URL. The first three messages, with OBTO's endpoint as the example.

Read article →
MCP

A remote MCP server behind the firewall

Where the server can run, what leaves the network on each tool call, how OAuth and scopes apply, and what OBTO offers an enterprise today.

Read article →
Application development

Application development costs: Build a budget you can use

Plan application development costs across implementation, hosting, AI usage, integrations and support. Use an invoice workflow to compare estimates.

Read article →
Application development

Can you build an app without coding?

Learn how to brief an AI app builder without writing code, review the result, and recognize where technical help is needed.

Read article →
Application development

Can ChatGPT build an app for your business?

Ask ChatGPT to build an application with a clear destination, defined business rules, and a saved result you can verify.

Read article →
Application development

How to ask AI to build your app: A brief with acceptance checks

Use a practical equipment-request brief to specify users, data, permissions and acceptance checks for an AI-built app.

Read article →
Application development

How to build a custom application for your business

Plan a custom business application around a real service request, from intake and assignment to completion and ongoing support.

Read article →
Application development

AI app builders: Features to compare before you choose

Compare AI app builders using the same workflow, access checks, change request, operating requirements and current costs.

Read article →
Application development

Build an AI resume-review prototype and a job-application tracker

Build a local Python prototype for resume review and a SQLite job tracker. Keep source facts visible and examine the tested limits.

Read article →
MCP

How much do MCP servers cost?

Understand MCP server costs, including hosting, AI clients, underlying APIs and support. Compare free and paid options by task.

Read article →
MCP

How to get started with an MCP server

Connect an MCP server, confirm the account and application, and verify a known read before testing changes.

Read article →
MCP

Building an MCP server as a business

Plan an MCP service around a customer task, operating responsibilities, support and a concrete first evaluation.

Read article →
MCP

Where to find MCP servers and how to check them

Find MCP servers through provider documentation and the official registry, then check scope, ownership and behavior.

Read article →
MCP

How to create your own MCP server: A working Python example

Create and test a local MCP server with Python SDK 2.2.0. Includes server and client code, a known record, and error checks.

Read article →
MCP

How to evaluate an MCP server before relying on it

Evaluate an MCP server with known records, access checks, client compatibility, retry behavior and completed-task evidence.

Read article →
MCP

How many MCP servers should you connect?

Choose MCP connections by the capabilities your workflow needs. Review permissions, overlapping tools and unused access.

Read article →
MCP

How to connect an MCP server to Claude

Connect a remote MCP server to Claude, check identity and application scope, and diagnose the first failed call.

Read article →
MCP

Do MCP servers work with every AI assistant?

Check MCP compatibility across transports, authentication, client features and accounts with a repeatable acceptance case.

Read article →
MCP

Your first MCP workflow: Read a record and check the answer

Learn MCP by retrieving a known record, checking the source, and seeing how a missing record is handled.

Read article →
MCP

MCP and LinkedIn: Check the integration behind the claim

Check the access and permissions behind a LinkedIn MCP integration, and distinguish draft preparation from publication.

Read article →
Application development

How to hire an app developer and evaluate their work

Evaluate an app developer through a real workflow, a change request, ownership, testing and a clear handover.

Read article →
Application development

Application development stages: Plan around decisions and working results

Plan application development stages around observable results, dependencies, access rules, testing and release ownership.

Read article →
Application development

Web, native, cross-platform or desktop: Choose an app format for the work

Compare web, native, cross-platform and desktop applications using devices, connectivity, distribution and real tasks.

Read article →
Application development

Power Apps and custom development: How to choose for your workflow

Compare Power Apps and custom development using data sources, an approval workflow, extensibility and maintenance.

Read article →
Application development

Custom application development versus off-the-shelf software

Decide between custom development, an extension and off-the-shelf software by examining the workflow gap and operating cost.

Read article →
Application development

Security questions to answer before building a business app

Define business-app security through records, roles, sensitive-data handling and observable verification requirements.

Read article →
Application development

Application development with AI: What to evaluate now

Evaluate AI-assisted application development by inspecting the implementation, change process and operating responsibilities.

Read article →
Application development

What testing should your business application go through?

Test business applications through saved results, validation, permissions, integration failures and real operating conditions.

Read article →
Application development

How to scale an application as your business grows

Plan application scaling with a representative workload, located bottlenecks, performance checks and operational ownership.

Read article →
Engineering

Your agent says it’s done. Did it show its work?

Paste the report your coding agent wrote. A decision model that cannot write checks whether each claim has a receipt, in about a second, for a hundredth of a cent — and tells you when it is unsure. Try it on your own agent.

Read article →
Engineering

How rollback works on OBTO

Restore points on every agent change, one change set per turn, and a pre-flighted Restore all with a receipt — plus what it is not yet. With a real receipt from a staging app.

Read article →
Case Study

The books were fine. The blind spot was the group chat.

A property operator with QuickBooks and accountants still had one unwatched surface — the WhatsApp stream where every invoice arrives as a photo. The AI second reader we built, and ran, entirely on OBTO.

Read article →
Engineering

The tool list is the boundary

A read-only session is handed a catalog with the artifact-write tools filtered out. Four grades of enforcement, and how to test which one a vendor means.

Read article →
Engineering

The write that knows it already ran

An agent that gets no reply cannot tell a timeout from a failure. Name the write, and the server answers that question for it.

Read article →
Engineering

Seven questions a deploy pipeline answers for you

A deploy pipeline is a set of checks, and each one can live somewhere else. Our table for all seven, with the verb on every row and two partial answers.

Read article →
Engineering

Your agent is verifying the wrong artifact

Fetching the published URL tests the delivery chain. Why self-verification needs a third address, worked through with defects found on this site.

Read article →
Engineering

An agent should know its blast radius up front

A credential does not announce its own scope. What to return from the first call an agent makes, taken from live control-plane payloads.

Read article →
Engineering

Your agent’s memory needs an address

We took session state out of the server in 3.3.0. Where an agent keeps what it learned, the two scoping modes, and where tenant separation really happens.

Read article →
Engineering

An error is your agent’s next prompt

A model cannot open the docs when a call fails. Four fields that turn a refusal into a corrected retry, taken from live control-plane responses.

Read article →
How-to

The agent doesn't get to choose which school it writes to

Grades, attendance, transfer certificates. The four layers between an AI agent and a child's permanent record, and why none of them live in the prompt.

Read article →
Platform

The deploy step was where the human stood

An MCP tool here is a record, so an agent can create one in a single call. The code review that used to ride along with the deploy has to go somewhere.

Read article →
Engineering

The query you wrote is not the query we ran

Letting an agent send raw filters to a database shared by 419 tenants — the server-side rewrite, the operator denylist, and why silent filtering misleads a model.

Read article →
Opinion

The tool-catalog tax

I counted 349 tools in one agent session before I said hello. What connecting everything really costs an agent, measured — and the deferred-loading fix that's already shipping.

Read article →
Integrations

Connect Gmail to an AI agent

Reading and drafting are reversible. Send isn't. The safer shape for the one verb with no undo: allow-listed recipients, a human gate, and a receipt for every message.

Read article →
Integrations

Connect Jira to an AI agent

A raw Jira token lets an agent bulk-close, reopen, or delete issues across a live queue. The safer shape: scoped verbs, a server-side token, and a policy that can refuse.

Read article →
Engineering

Trust the hash, not the agent

When our agent sends one, a content hash or a matched anchor is what refuses a corrupted write to this site, standing in for the review step. How both checks work, and what they do not catch.

Read article →
Integrations

Give your agent GitHub access, not your keys

One public issue tricked an agent into leaking private repos, no exploit code. Why the lethal trifecta is the real risk — and the architecture that survives it.

Read article →
Agent infra

It worked in Cursor. Then you shipped it.

The demo worked because you were the safety system. Production takes you out of the loop — here's the structural layer that has to replace you.

Read article →
Engineering

We let an AI write to production. Then a retry wrote twice.

A named write lets the server recognise a retry and replay the receipt instead of executing again. How that works, and the two checks alongside it that keep an agent's writes safe.

Read article →
Reliability

How to run and schedule an AI agent that works unattended in production

The trigger, the record each run leaves, how you find out it failed, and what a run costs. With the parts OBTO leaves to you.

Read article →
Integrations

The right way to hand your AI agent a spreadsheet

Most ways to wire a sheet to an agent are rented glue that breaks. Give it a few exact verbs you own — key server-side, a policy on every write.

Read article →
Security

Your AI agent's guardrails shouldn't live in the prompt

Prompt rules are advisory — a model can ignore them. The guardrail that holds runs server-side, in front of the action, with a receipt for every attempt.

Read article →
Engineering

We deleted the session. The agents got more reliable.

An "active app" the server remembers is lovely in a demo and a bug in production. Why we made every tool call carry its own scope.

Read article →
Governance

An audit trail your AI agent can't skip

Logging is what your code writes when it remembers. An audit trail is a record the agent can't avoid producing — and where it's made decides if you can trust it.

Read article →
How-to

Your AI helpdesk should close the ticket, not draft a reply

Triage and deflection are the easy half. The valuable half is an agent that safely takes the action, resolves the ticket, and logs every step.

Read article →
Insights

Why AI agents break in production

The demo runs one happy user on clean data. Production adds tenancy, rate limits, drift, and cost — and the safe write path that closes the gap.

Read article →
Engineering

The page you're reading is a database record

How OBTO hosts its own website on OBTO: pages as rows, line-level patches, sha256-gated deploys, and the one build step we kept on purpose.

Read article →
How-to

Give your AI agent a seat in Slack

What "connect Slack" really means, the two paths to get there, the scopes that matter, and the guardrails that let an agent post without keeping you up at night.

Read article →
Guides

Self-hosted AI agent platforms: a buyer's guide

What "self-hosted" really means, a fair tour of the open-source and managed options, and the tradeoffs that decide which platform you own.

Read article →
Security

Your AI agent should never hold its own keys

Every useful agent is a small pile of secrets. Where API keys leak — prompt, client, logs — and the one pattern that keeps them server-side.

Read article →
Engineering

The Harness and the Substrate

How we built an agent runtime on a data-native platform: wrap-and-tee observation off the critical path, app-as-data, and what we've proven vs designed for.

Read article →
Guides

Connect Postgres to an AI agent without handing it raw SQL

The safe pattern for database access: expose scoped, typed tools instead of raw SQL, keep credentials server-side, and log every query.

Read article →
Engineering

How we built the Glass Receipt

Every AI run should leave a receipt. Why we gave each run an itemized, queryable ledger of models, tokens, cost, and tools, on by default.

Read article →
Engineering

Know your AI cost per run, before the bill

Per-token pricing hides the bill until it's too late. Route easy calls to a cheap model, keep the strong one for hard calls, and see each run's cost as it happens.

Read article →
Guide

What is an MCP server?

The plain-English guide: what an MCP server is, the three things it exposes, and how local and remote servers differ.

Read article →
Engineering

A prototype that feels like a product still isn't one

A demo proves the idea. Production is the dozen layers underneath it — and why AI codegen makes the gap bigger, not smaller.

Read article →
Vision

Why we built OBTO headless-first

Most AI platforms start with a chat box. We started with the tools and the audit trail, and treated the interface as optional — here's why.

Read article →
Integrations

Your ServiceNow agent reads tickets written by strangers

Every incident description is untrusted input. How to put an agent on ServiceNow without turning the helpdesk into a prompt-injection surface.

Read article →
Engineering

The Big AI Lock-In — and How We Engineered Around It

Models get deprecated, repriced, and knocked offline. Here's how we keep memory and the live workstream outside any single model or client — so the work stays yours.

Read article →
Engineering

MCP Server as a Service: Your Data, Behind Your Firewall

Every AI client now speaks MCP. The question is whose server exposes your business data — and whether it runs behind your firewall, governed and battle-tested.

Read article →
Engineering

Base44 vs Lovable: which AI app builder fits, row by row

Hosting, database, auth, export and pricing as of 21 October 2026, each row sourced. OBTO in a second table, only where it differs.

Read article →
Engineering

OBTO vs LangSmith vs Langfuse: Choosing a Self-Hosted AI Stack

Where the three tools actually overlap, what self-hosting really costs for each, and an honest guide to choosing your agent stack.

Read article →
Engineering

LLM Data Cleaning: Patterns for Production ETL Pipelines

Rules first, model second, humans last — hybrid cleaning pipelines, entity resolution without O(n²) costs, validation gates, and cost control.

Read article →
Engineering

AI Ticket Triage: How Agents Automate the Helpdesk

Where triage agents actually work, the guardrails they need, and the three metrics that prove helpdesk automation is paying off.

Read article →
Engineering

AI Agent Cost Tracking: Know What Every Run Costs

Why agent loops make token math non-linear, how to compute cost per completed task, and the five cost levers ranked by impact.

Read article →
Engineering

Multi-Model Orchestration: Routing LLMs by Cost and Task

Route each request by cost, latency, and task instead of paying frontier prices for everything — the strategies that work, and the hidden costs.

Read article →
Engineering

How to Host a Remote MCP Server in 2026: A Practical Guide

Transport, OAuth 2.1, scaling, and observability — what it actually takes to keep a remote MCP server alive in production.

Read article →
Engineering

How to Build an MCP Tool: A Practical Guide

The three MCP primitives, stdio vs. Streamable HTTP transport, a worked example, and what it takes to run a tool in production.

Read article →
Engineering

AI Agent Observability: A Practical Guide for Teams

What observability actually requires for agents — traces, tool calls, per-step token cost, and replay — and how to instrument it.

Read article →
Vision

How OBTO is Defining the AI Workforce of the Future

How transparent, observable agents are reshaping the way teams build and deploy an AI workforce.

Read article →
Engineering

Support for Groq: Fast Inferencing for Better AI Workflows

Bringing Groq's high-speed inference to OBTO to make agentic workflows faster and more cost-efficient.

Read article →
Architecture

Design & Architecture

A visual walkthrough of the OBTO Glass Box architecture — how the runtime, observability, and MCP layers fit together.

View board ↓
Architecture

Design & Architecture