I Built an AI Agent Harness That Uses Remote MCP Tools
How I connected an AI SDK agent to my deployed MCP server and finally understood what the harness around an agent actually does.
An MCP server that exposes project listing, code search, and git summaries to AI clients such as Cursor.
DevAssist is a Python MCP server for AI-assisted development. It lists projects under a workspace root, searches source files while skipping noise directories, and returns a read-only git summary. It started as a local stdio server for Cursor and later gained a remote Streamable HTTP transport served with Starlette and Uvicorn, including a Render deployment.
AI coding clients are more useful when they can inspect a real workspace — projects, code, and git state — through a standard protocol instead of one-off plugins.
The same tools run locally over stdio or remotely over Streamable HTTP at POST /mcp. The HTTP app adds health and service endpoints, optional Bearer auth, and a host allowlist for deployment. Tool implementations stay in a small tools/ package so the transport can change without rewriting the capabilities.
How I connected an AI SDK agent to my deployed MCP server and finally understood what the harness around an agent actually does.
Part 2 — How I moved DevAssist from a local stdio MCP server to a deployed Streamable HTTP endpoint, then wired Cursor and the AI SDK to it.
How I learned Model Context Protocol by building something useful instead of another weather API demo.