Skip to content
Changelog This Week in Miru MCP AI

This Week in Miru: MCP, Safer Billing, Agent-Ready

Apr 20-28: MCP production use, cleaner CLI setup, invoice fixes, client forms, Level 5 agent readiness, and SEO schema cleanup.

Vipul A M Vipul A M · · 5 min read
Billing
Miru invoicing screen with invoice status and totals
This article is currently written in English. Navigation, dates, and calls to action follow your selected language.

Apr 20-27: 43 non-merge commits. Focus: MCP production use, simpler CLI setup, correct invoices, clearer client forms, and production stability.

Then on Apr 28 we tightened the public layer: Level 5 agent readiness, A2A discovery, controller-backed robots, richer schema, and stronger blog CTAs.

Miru dashboard with time, invoice, expense, and payment workflows

April 28 Update: Miru Is Now Agent-Native

miru.so now scans as Level 5: Agent-Native on IsItAgentReady.

Agents can now discover Miru without scraping. What changed:

  • Exposed llms.txt and llms-full.txt for product, docs, API, CLI, MCP, pricing, and support paths
  • Published /.well-known/api-catalog for OpenAPI, MCP, docs, and agent resources
  • Added /.well-known/mcp/server-card.json for MCP discovery
  • Added /.well-known/agent-card.json for A2A discovery
  • Served Markdown to agents that ask for text/markdown
  • Updated robots.txt with AI crawler rules and Content Signals

Deployed the same idea to app.miru.so: OpenAPI, API catalog, MCP server card, agent skills, A2A card, Markdown negotiation, and controller-backed robots.txt with Cache-Control: no-store.

One practical lesson: static robots.txt can get sticky in scanners and edge caches. Route it through the app when correctness matters.

April 28 Update: SEO Got Less Vague

The marketing site already had the basics: titles, descriptions, canonicals, sitemaps, RSS, and structured data. This pass made the metadata more specific:

  • richer Organization, WebSite, and SoftwareApplication JSON-LD
  • article schema with image, word count, tags, date modified, and canonical page IDs
  • BreadcrumbList schema on blog articles, the blog index, and tag pages
  • ItemList schema for blog archive and tag pages
  • explicit canonical plumbing in the shared page layout
  • noindex, follow on the 404 page
  • a stronger product CTA on every blog post

The goal is simple: search engines and AI answer engines should understand what Miru is without reconstructing the product from scattered page text.

1) MCP: Production-Ready and Pro-Gated

Miru now has a pro-gated MCP server and SDK client wrapper for agent workflows that should never depend on browser scraping.

What works:

  • workspace identity
  • project and client lists
  • time entry listing, creation, update, and delete
  • invoice listing, inspection, and send workflows
  • payment listing and inspection
  • expense listing and creation

Good path:

  • user asks for unbilled work
  • agent calls Miru MCP tools
  • agent summarizes the result
  • user approves the next action
  • agent creates or sends only what was approved

Rule: do not let agents drive private app UI with selectors and hope. Use structured tools and keep writes review-first.

Related work:

  • MCP server and SDK client wrapper: 35a49dd6
  • MCP setup and verification docs: 9dd5be00
  • MCP tool safety coverage: 17d5fe29

2) CLI Token Setup Got Cleaner

MCP is useful only if setup is not a ritual.

We added a CLI token command for MCP setup, so users can connect agent tooling without manually stitching together auth details.

That gives us a cleaner path:

miru token
configure MCP client
call Miru tools with explicit user authorization

This matters because AI-agent workflows need boring authentication. If setup is awkward, people either skip it or paste secrets into places they should not.

Related work:

  • CLI token command: 5a432d3f
  • Host context forwarding for MCP proxy calls: e7e71289
  • Stable MCP write errors without message leakage: 8cd5dee6

3) Invoice Data Became More Correct

Billing software earns trust in the boring details.

Two invoice fixes shipped this week:

  • per-project member rate mapping now feeds invoice generation correctly
  • invoice line items now render employee names correctly

Those sound small until you are reviewing a client invoice and trying to explain where a number came from.

The rule is simple: if Miru knows the rate and the person who did the work, invoices should reflect that without manual cleanup.

Miru invoices view

Related work:

  • Project member rate mapping for invoice generation: a0f6386c
  • Invoice line-item employee name rendering: 6e02d334

4) Client Creation Stopped Hiding Required Fields

Client setup got a clarity pass.

The add-client form now marks required fields more explicitly and has system coverage around that guidance. This is the kind of form polish that prevents preventable support questions.

What changed:

  • required-field helper logic is centralized
  • accessible hints are clearer
  • add-client form labels make required inputs obvious
  • system specs cover the guidance

Related work:

  • Required-field clarity: ffc3867a
  • Required-field helper refactor and a11y hint: f060a132
  • System spec for client required fields: ec1669bc

5) Production Secrets and CI Got Less Fragile

We stabilized Render session secret configuration after seeing how brittle deploy-time secret handling can get.

We also tightened MCP-related CI:

  • consolidated MCP checks into the main test and lint jobs
  • installed node tooling for focused MCP specs
  • fixed postgres connectivity in GitHub Actions
  • resolved MCP eager-load and omission-semantics issues

This is not visible product work, but it affects whether fixes ship cleanly.

Related work:

  • Render session secret configuration: 239ae496
  • MCP checks in main CI jobs: c95e962f
  • GitHub Actions postgres connectivity: 4ef6e79b

6) Organization Settings Added US Tax Fields

US tax fields landed in organization settings.

This continues the same direction as the invoice fixes: billing data should live where billing workflows can use it. If the organization needs tax identity fields for downstream invoices, reports, or compliance workflows, they should be first-class settings, not notes in a spreadsheet.

Related work:

  • US tax fields in organization settings: 98a7fc84

7) Dependencies Moved Forward

Two dependency updates shipped:

  • postcss from 8.5.6 to 8.5.10
  • erb from 6.0.2 to 6.0.4

Not every weekly update needs a grand theory. Sometimes the right move is keeping the floor solid.

By The Numbers (Apr 20 to Apr 28)

  • 43 non-merge commits
  • 1 major MCP capability push
  • 3 MCP setup/safety/docs improvements called out above
  • 2 invoice correctness fixes
  • 3 client-form clarity and coverage changes
  • 2 dependency updates
  • 1 agent-readiness pass that took miru.so to Level 5
  • 1 SEO schema pass across the shared blog and site layout

What This Means

Miru is moving toward a cleaner model for AI-assisted billing:

  • public content is easier for agents to read
  • authenticated work has MCP and API paths
  • discovery is explicit through API catalog, MCP, A2A, and agent skills
  • CLI setup is improving
  • billing data is becoming more complete and less ambiguous
  • production and CI are getting less fragile underneath
  • search and AI crawlers get clearer structured data

That is the right direction. Billing workflows need automation, but they also need auditability and user intent.

Watchlist

  1. Expand MCP tool coverage. Priority: high. Keep writes gated.
  2. Publish 5 public API and MCP examples.
  3. Audit invoices for rates, names, and tax fields. Add coverage where the data crosses boundaries.
  4. Measure CLI and agent setup. Target: first tool call in under five minutes.
  5. Keep SEO content-first. No keyword templates.

Start with Miru at app.miru.so/signup, or read the agent guide at miru.so/ai-agents.

Share:
Vipul A M

Vipul A M

Co-founder at Saeloun. Building Miru. Rails contributor. Shipping from Pune, India.

Put it to work

Run one cleaner billing cycle in Miru.

If this article is about tracking time, billing clients, comparing tools, or automating work, Miru is the product version of that idea. Start free, invite the team, and send the next invoice from tracked work.

What you get

  • Time tracking, invoices, expenses, and payments in one place.
  • Free for up to 5 users. Pro is $1/member/month.
  • Open source, with CLI, API, MCP, and self-hosting paths.
See Miru

The article is the argument. Miru is the workflow.

Track the work, approve the hours, send the invoice, and get paid without bolting together three separate tools.

Billing
Miru invoicing screen with invoice status and totals
Invoicing Miru