Skip to content

✨ Add Appworld tool#120

Open
kellyaa wants to merge 17 commits intokagenti:mainfrom
kellyaa:appworld-apis
Open

✨ Add Appworld tool#120
kellyaa wants to merge 17 commits intokagenti:mainfrom
kellyaa:appworld-apis

Conversation

@kellyaa
Copy link
Contributor

@kellyaa kellyaa commented Feb 11, 2026

Summary

This PR introduces a new appworld_apis MCP tool and container runtime so AppWorld can be deployed as a single service exposing both REST APIs and MCP endpoints.

What Changed

  • Added mcp/appworld_apis/Dockerfile:
    • Builds from python:3.12-slim-bookworm
    • Clones and installs StonyBrookNLP/appworld with MCP extras
    • Runs as non-root user
    • Installs/downloads AppWorld assets during image build
    • Exposes ports 8000 (REST) and 8001 (MCP)
    • Sets runtime env for on-disk APIs and HTTP MCP transport
  • Added mcp/appworld_apis/entrypoint.py:
    • Starts both AppWorld APIs and MCP server in separate processes
    • Handles clean shutdown on SIGTERM/SIGINT
    • Applies Docker-mode DB path guardrails so DB paths stay under:
      • APPWORLD_ROOT/data
      • APPWORLD_ROOT/experiments/outputs
    • Normalizes legacy/absolute DB paths into container-local paths
  • Added mcp/appworld_apis/README.md:
    • Deployment guidance for Kagenti
    • Documents current Kagenti multi-port UI bug and manual Deployment/Service workaround for port 8001

Notes / Risks

  • Kagenti currently requires a manual post-deploy patch to expose MCP port 8001 (documented in README).

Related issue(s)

#112

Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Signed-off-by: Kelly Abuelsaad <kaymar@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant