LangChain PortlandMaps (Unofficial) search_sewer_records
How to: LangChain PortlandMaps (Unofficial) search_sewer_records
Add PortlandMaps (Unofficial) to LangChain
-
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()
-
02
Save the file and restart LangChain.
-
03
Ask for something search_sewer_records does. LangChain lists the server's tools on connect and calls search_sewer_records itself — you do not invoke it by name.
-
04
If nothing happens, check the server is running and that PortlandMaps (Unofficial)'s identifier in your config matches the one above exactly.
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 search_sewer_records never becomes available.
-
PORTLANDMAPS_API_KEY -
PORTLANDMAPS_API_KEY_PARAM -
PORTLANDMAPS_CACHE_TTL_MS
Same tool, other clients
This list was read from the server itself, by connecting to it and calling tools/list on 24 September 2026. It is what
the server actually exposes, not what its listing claims.
Mutating and Read-only are read off each tool's name, not its schema — a hint, not a guarantee. The registry stores tool names only; connect the server for its live schemas.