Testing instructions for judges

Live app, free, no restrictions: https://mcp-forge-a2r0.onrender.com

  1. Wait for the first load. The free host sleeps when idle. If you see a "Service waking up" page, wait about 60 to 90 seconds. It then opens by itself.
  2. Click Get started and create an account with any email and any password. There is no email check and no payment. No API keys are needed, the server already has them.
  3. Pick a sample API card (for example Open-Meteo weather) and press Forge. A run takes about 1 to 3 minutes. You will see Tavily find the docs, Nemotron 3 Super write the code and tests, the tests run and Nemotron 3 Nano fix failures.
  4. When it says Live, open the Tests, Code and Try it tabs. In Try it, enter a latitude and longitude and press the call button to get real data from the generated server.
  5. Limit: 3 servers per account per day and 40 per day for the whole site, to protect credits. If a limit is hit, use another email.

Code and setup: https://github.com/Prasannaverse13/MCP-Forge (README has the architecture diagram and local setup).

Inspiration

Every AI agent needs tools, and tools for agents are MCP servers. Writing one by hand for each API is slow. Code written by a model alone often does not work. We wanted a tool where the code only counts when its tests pass.

What it does

MCP Forge turns an API name into a tested, running MCP server. You type the name of an API. Tavily finds the docs. NVIDIA Nemotron 3 Super on Nebius Token Factory plans the tools and writes the server and its pytest tests. The tests run. If any fail, NVIDIA Nemotron 3 Nano reads the failures and patches the code. This repeats for up to 3 rounds. When all tests pass, the server is deployed and you get a live endpoint, a config block for Claude Desktop or Cursor, the files as a zip and a Try it tab that calls the live tools from the page.

How we built it

  • Nebius Token Factory hosts the models through its OpenAI compatible API. Model ids are discovered at run time and Nemotron Super is picked as the writer and Nemotron Nano as the fixer.
  • Tavily search and extract supply the API docs. They are the only source of truth the writer gets.
  • FastAPI backend streams every step to the UI with server sent events. Real accounts use scrypt passwords and HttpOnly sessions on SQLite. Every user has saved runs.
  • FastMCP generated servers speak streamable HTTP. The backend also uses the MCP client to list and call tools.
  • pytest and respx mock the API so tests run with no real keys.
  • A Nebius Serverless runner (Job for tests, Endpoint for deploy) is written. The public demo uses the local runner.
  • The web app is one vanilla JS page. The public demo is hosted on Render.

Results

Real runs with real keys: Open-Meteo weather passed 10 of 10 tests in round 1 and Try it returned live Paris weather. A GitHub issues server failed tests at first and passed 7 of 7 after Nemotron 3 Nano fixed it in 2 rounds.

Challenges

  • The writer sometimes skipped a file. We detect it and ask again for both files.
  • The Nebius CLI has no Windows support, so the Serverless runner is written but not tested end to end. We say this plainly in the README.
  • The local runner is not sandboxed, so it strips API keys from the generated code environment and is for development only.

What we learned

Tests make a model honest. A cheap fast model is enough to repair most failures once a test names the problem.

What is next

Test the Nebius Serverless runner end to end, sandbox every run and let users publish a forged server to a shared registry.

Try it

Live demo: https://mcp-forge-a2r0.onrender.com (sign up with any email, 3 servers per account per day, the first load can take about a minute). Code: https://github.com/Prasannaverse13/MCP-Forge

Built With

  • fastapi
  • mcp
  • nebius
  • nvidia-nemotron
  • pytest
  • python
  • render
  • sqlite
  • tavily
Share this project:

Updates

Submission history