HNHacker News
TopNewBestAskShowJobs

pranftw

10 karma · joined October 15, 2022

Backpropagating through life
submissionscomments
pranftw··on [dead]
I've been working on a more efficient approach to code execution with MCP servers that eliminates the filesystem overhead described in Anthropic's recent blog post.

The Anthropic post (https://www.anthropic.com/engineering/code-execution-mcp) showed how agents can avoid token bloat by writing code to call MCP tools instead of using direct tool calls. Their approach generates TypeScript files for each tool to enable progressive discovery. It works well but introduces complexity: you need to generate files for every tool, manage complex type schemas, rebuild when tools update, and handle version conflicts. At scale, 1000 MCP tools means maintaining 1000 generated files.

I built codex-mcp using pure dynamic execution. Instead of generating files, we expose just two lightweight tools: list_mcp_tools() returns available tool names, and get_mcp_tool_details(name) loads definitions on demand. The agent explores tools as if navigating a filesystem, but nothing actually exists on disk.

Code snippets are stored in-memory as strings in the chat session data. When you execute a snippet, we inject a callMCPTool function directly into the execution environment using AsyncFunction constructor. No imports, no filesystem dependencies, just runtime injection. The function calls mcpManager.tools directly, so you're always hitting the live MCP connection.

This means tools are perpetually in sync. When a tool's schema changes on the server, you're already calling the updated version. No regeneration, no build step, no version mismatches. The agent gets all the same benefits of the filesystem approach (progressive discovery, context efficiency, complex control flow, privacy preservation) without any of the maintenance overhead.

One caveat: the MCP protocol doesn't enforce output schemas, so chaining tool calls requires defensive parsing since the model can't predict output structure. This affects all MCP implementations though, not specific to our approach.

The dynamic execution is made possible by Vercel AI SDK's MCP support, which provides the runtime infrastructure to call MCP tools directly from code.

Project: https://github.com/pranftw/aiter-app

Would love feedback from folks working with MCP at scale. Has anyone else explored similar patterns?

pranftw··on [dead]
Hey HN,

I built aiter because existing AI CLI tools are black boxes. You can chat with AI, but you can't really control how it works or extend it meaningfully. With aiter, you get full control over the agent loop, file-system based organization (like Next.js), first-class Model Context Protocol support, and React component customization.

Quick start: bunx @aiter/cli create app my-app

Each agent is a directory with optional /commands, /tools, /mcps, and /system-prompts. Want a new agent? Run bunx @aiter/cli add agent my-agent and it scaffolds everything. The MCP integration is core - drop in a config and tools load automatically. Great for testing MCP servers or building custom workflows.

This isn't a production assistant - it's a developer tool for people who want to build AI workflows, experiment with different setups, or understand how AI interactions work. Terminal-first means it's scriptable, CI/CD ready, and hackable. The entire UI is React components you can override.

It's early but stable. MIT licensed, built with Bun (works with Node). Would love feedback from folks building with MCP or running custom AI workflows.

GitHub: https://github.com/pranftw/aiter

pranftw··on PapersTok – AI ArXiv Papers with a TikTok Like UX
Launching a fun side project to preview arXiv papers related to AI with a TikTok like experience called PapersTok.

In the current fast paced world of AI research, where hundreds of papers are put up on arXiv daily, keeping up with the latest developments presents significant challenges. One of them being the difficulty of navigating around the arXiv web interface, where new tabs have to be constantly opened and closed just to skim through the title and the abstract. What if there was a much simpler and fun way to do just that?

Inspired by WikiTok, I built PapersTok to scroll through arXiv submissions related to AI. It has LaTeX support to render math equations. It also provides the ability to bookmark papers you find interesting. I'm planning to add more features in the coming days to enhance the experience of skimming through papers.

I request the community to highlight the challenges they currently face that can be alleviated through this tool. Your valuable feedback and comments are much appreciated. Feel free to DM or tweet me @pranftw on X.

pranftw··on PapersTok – AI ArXiv Papers with a TikTok Like UX
Launching a fun side project to preview arXiv papers related to AI with a TikTok like experience called PapersTok.

In the current fast paced world of AI research, where hundreds of papers are put up on arXiv daily, keeping up with the latest developments presents significant challenges. One of them being the difficulty of navigating around the arXiv web interface, where new tabs have to be constantly opened and closed just to skim through the title and the abstract. What if there was a much simpler and fun way to do just that?

Inspired by WikiTok, I built PapersTok to scroll through arXiv submissions related to AI. It has LaTeX support to render math equations. It also provides the ability to bookmark papers you find interesting. I'm planning to add more features in the coming days to enhance the experience of skimming through papers.

I request the community to highlight the challenges they currently face that can be alleviated through this tool. Your valuable feedback and comments are much appreciated. Feel free to DM or tweet me @xinfitok on X.

pranftw··on Neograd – A deep learning framework created from scratch using Python and NumPy
Thanks a lot! Glad you liked it!