Reported issues for thingctx
Pod holds 7 of 7 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.
Back to thingctx.
Most discussed
Port the MCP bridge to mcp 2.0
Port the MCP bridge to mcp 2.0
mcp 2.0 redesigned the server API and the bridge has not been ported. There is
no version cap, so pip install thingctx[mcp] already resolves 2.x and
build_mcp_server() raises AttributeError: 'Server' object has no attribute 'list_tools'. The module still imports; it breaks when you build the server.
All of it lives in src/thingctx/integrations/mcp.py.
What changed
| 1.x | 2.0 |
|---|---|
@server.list_tools() and the other eight decorators |
c |
Read the thread · 2026-08-02 · open · 6 comments
Authorize each bridged call against the caller on the request, not the server's identity
What is this
build_mcp_server takes one ThingClient, so the bridge decides every call against the
same identity for the life of the server. Two people on one bridged server get the same
answer, even when one should be able to write and the other only read.
Over stdio that is unavoidable: there is no request to read a caller from. Over
streamable HTTP it is not. MCP wants an Authorization header on every request, and the
SDK hands you the validated token per request. We ignore it.
Read the thread · 2026-07-25 · closed · 2 comments
Port MCP baseline examples to MCP 2 APIs
The production MCP bridge and integration tests are being ported to MCP 2 in #121, but two examples still depend on MCP 1 APIs:
examples/01_mcp_baseline.pyexamples/_measure.py
Once the dependency floor moves to mcp>=2, the MCP-specific paths in these examples become stale.
They currently rely on APIs that changed or were removed in MCP 2, including the old in-memory connection helper, MCP 1-style model fields, and older server/client lifecycle assumptions.
This issue is to port th
Read the thread · 2026-08-15 · open · external user · 1 comment
Validate runtime action and property inputs against TD schemas
What are you trying to do
While working on #121, I found that ThingCtx does not currently apply general runtime JSON Schema validation to action inputs or writable property values before they reach a binding.
MCP 1 happened to validate listed tool arguments against each tool's inputSchema before invoking the bridge. During the MCP 2 port that exposed a wider gap: outside that MCP-specific behavior, ThingCtx itself does not enforce the TD schema on runtime values.
For example, if an acti
Read the thread · 2026-08-15 · open · external user · 1 comment
Redis Transport Issue
What happened
get_message(timeout=None) blocks forever, so a silently dead connection hangs with no health check and no way out.
I'll work on fixing this.
Read the thread · 2026-08-14 · open · outside contributor · 0 comments
Add a WebSocket transport binding
What is this
thingctx ships five bindings: http, local, mqtt, media (rtsp) and exec. None speaks WebSocket, and docs/MAPPING.md records it as not implemented. WebSocket is how many live dashboards, home hubs and robot bridges push state; the README already describes a Thing that calls actions over HTTP and receives its events over WebSocket, and that half has no transport behind it.
The shape is an open question. W3C publishes protocol bindings for HTTP, CoAP, MQTT, Modbus, BACnet, LoRaWA
Read the thread · 2026-07-25 · open · 0 comments
Add a worked Copilot (VS Code) example, and clarify direct vs bridge
For a closed agent like Copilot in VS Code, the integration path is the MCP bridge, not direct tool calling. That isn't obvious today: someone can reasonably try the direct path first and end up writing tool-call glue, because Copilot only accepts tools through MCP.
Add a short signpost (direct is for agents whose loop you own; closed agents use the bridge) and a worked, copy-paste Copilot example.
Raised by a user at the W3C WoT Community Group meetup.
Read the thread · 2026-07-03 · open · 0 comments
Most recent
The remaining reports are on the project's issue tracker.