Skip to content

LangChain PortlandMaps (Unofficial) Prompt/zoning

How to: LangChain PortlandMaps (Unofficial) zoning

client:LangChain transport:streamable-http prompt:zoning

Add PortlandMaps (Unofficial) to LangChain

  1. 01

    Open pip install langchain-mcp-adapters and merge this in. Keep any servers already there.

from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
        "portlandmaps-mcp": {
            "transport": "streamable_http",
            "url": "https://portlandmaps-mcp.vercel.app/mcp/v2",
        }
})

tools = await client.get_tools()
  1. 02

    Save the file and restart LangChain.

  2. 03

    zoning is surfaced through the client's prompt API, fetched by name. Unlike a tool, you invoke it deliberately — LangChain will not call it for you.

  3. 04

    If it does not appear, check that PortlandMaps (Unofficial) is connected and that you are looking at its prompts rather than its tools.

get_tools() returns the server's tools as LangChain tools, ready for an agent. LangChain docs

Set these first

PortlandMaps (Unofficial) will not start until these are set, so it never reaches LangChain.

  • PORTLANDMAPS_API_KEY
  • PORTLANDMAPS_API_KEY_PARAM
  • PORTLANDMAPS_CACHE_TTL_MS

Same prompt, other clients

Read from the server itself, by connecting to it and calling prompts/list on 24 September 2026. A listing does not declare its prompts, so asking is the only way to know them, and this is what the server actually offers rather than what its listing claims. Names only are stored; connect the server for each prompt's arguments.