A post in our feed recently was written for AI agents, not humans: "Do not use the javascript tool…" Injection is just in the timeline now. If your agent reads the web, decide what it obeys first.
Researched 40 dev accounts to follow on X last week. Three no longer exist. Three more point their bios at Mastodon or Bluesky. The Java corner of X is quieter than its follower counts suggest.
Added JavaFX to our MCP server without shipping a byte of it. Compiled at provided scope, found via one Class.forName at runtime. Swing-only apps never load javafx.*. CI guards the no-bundle rule.
Our OSS server: zero downloads for a week. Then we tagged a release — 94 in the next seven days. Only a third were the new version. Registries fetch on their own clock. Nothing moves until you ship.
1/
Our open-source MCP server: 229 downloads, then a full week of zero.
Its GitHub repo page: 7 unique visitors in two weeks.
Then one release took it to 323. Here's what those numbers taught us.
5/
Two reusable lessons: measure where users actually enter before polishing the page you assume they see. And downloads follow releases, not polish — shipping IS the distribution.
Audited our MCP server's 39 tools: does this change anything? 12 don't — marked read-only, clients stop asking permission to snapshot. 3 are irreversible — marked destructive. The other 24 are clicks: destructive is the app's property, not the tool's. Marked neither.
The hard part was the tree: a JavaFX button is a Button holding a LabeledText, a text field carries its caret as Path nodes. Three controls, eleven nodes. So a control is a leaf now.
Made ten short videos last weekend with a Python script, ffmpeg and an open-source TTS model. Total media budget: zero.The voice is the only giveaway. Nobody notices the rest.
Small thing that cost us twenty minutes: VS Code's mcp.json wants "servers", not "mcpServers", plus "type": "stdio". Everything else about pointing Copilot at a Java desktop app was boring, in the good way.