aiohttp-tiny-mcp 0.5.2__tar.gz → 0.5.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/PKG-INFO +1 -1
  2. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/pyproject.toml +1 -1
  3. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/pyproject.toml.orig +1 -1
  4. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/client/stdio.py +3 -1
  5. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/testing.py +8 -4
  6. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/LICENSE +0 -0
  7. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/README.md +0 -0
  8. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/__init__.py +0 -0
  9. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/auth/__init__.py +0 -0
  10. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/auth/jwt.py +0 -0
  11. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/client/__init__.py +0 -0
  12. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/client/base.py +0 -0
  13. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/client/http.py +0 -0
  14. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/console/__init__.py +0 -0
  15. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/console/console.css +0 -0
  16. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/console/console.js +0 -0
  17. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/console/index.html +0 -0
  18. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/console/oauth-callback.html +0 -0
  19. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/extensions/__init__.py +0 -0
  20. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/extensions/skills.py +0 -0
  21. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/oauth/__init__.py +0 -0
  22. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/oauth/github.py +0 -0
  23. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/oauth/provider.py +0 -0
  24. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/oauth/server.py +0 -0
  25. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/oauth/tokens.py +0 -0
  26. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/__init__.py +0 -0
  27. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/adapter.py +0 -0
  28. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/core.py +0 -0
  29. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/models.py +0 -0
  30. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/schema.py +0 -0
  31. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/selection.py +0 -0
  32. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/v2024_11_05.py +0 -0
  33. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/v2025_03_26.py +0 -0
  34. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/v2025_06_18.py +0 -0
  35. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/v2025_11_25.py +0 -0
  36. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/protocol/v2026_07_28.py +0 -0
  37. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/py.typed +0 -0
  38. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/__init__.py +0 -0
  39. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/dispatcher.py +0 -0
  40. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/exchange.py +0 -0
  41. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/http.py +0 -0
  42. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/registry.py +0 -0
  43. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/request_state.py +0 -0
  44. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/specs.py +0 -0
  45. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/sse.py +0 -0
  46. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/stdio.py +0 -0
  47. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/subscriptions.py +0 -0
  48. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/server/tasks.py +0 -0
  49. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/storage/__init__.py +0 -0
  50. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/storage/hub.py +0 -0
  51. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/storage/namespaces.py +0 -0
  52. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/storage/postgres.py +0 -0
  53. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/storage/redis.py +0 -0
  54. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/storage/sessions.py +0 -0
  55. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/storage/sqlite.py +0 -0
  56. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/transport/__init__.py +0 -0
  57. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/transport/metadata.py +0 -0
  58. {aiohttp_tiny_mcp-0.5.2 → aiohttp_tiny_mcp-0.5.3}/src/aiohttp_tiny_mcp/transport/sse.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohttp-tiny-mcp
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: Remote MCP server and client library for aiohttp
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aiohttp-tiny-mcp"
3
- version = "0.5.2"
3
+ version = "0.5.3"
4
4
  description = "Remote MCP server and client library for aiohttp"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aiohttp-tiny-mcp"
3
- version = "0.5.2"
3
+ version = "0.5.3"
4
4
  description = "Remote MCP server and client library for aiohttp"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -13,6 +13,8 @@ from aiohttp_tiny_mcp.protocol.models import Implementation
13
13
 
14
14
  from .base import BaseClient, ClientError, Elicitor
15
15
 
16
+ DEFAULT_STREAM_LIMIT = 1024 * 1024
17
+
16
18
 
17
19
  @runtime_checkable
18
20
  class ByteWriter(Protocol):
@@ -76,7 +78,7 @@ class StdioClient(BaseClient):
76
78
  adapter: Adapter,
77
79
  client_info: Implementation | None = None,
78
80
  on_ask: Elicitor | None = None,
79
- limit: int = 1024 * 1024,
81
+ limit: int = DEFAULT_STREAM_LIMIT,
80
82
  ) -> AsyncIterator[StdioClient]:
81
83
  """Launch cmd with protocol pipes and inherit stderr.
82
84
 
@@ -12,7 +12,7 @@ from aiohttp import web
12
12
 
13
13
  from .client.base import BaseClient, Elicitor
14
14
  from .client.http import Client
15
- from .client.stdio import StdioClient
15
+ from .client.stdio import DEFAULT_STREAM_LIMIT, StdioClient
16
16
  from .protocol.adapter import Adapter
17
17
  from .protocol.core import elicit_accept, elicit_decline
18
18
  from .protocol.models import Implementation
@@ -25,8 +25,8 @@ from .server.stdio import serve_stdio
25
25
  class Pipe:
26
26
  """One direction of an in-memory connection."""
27
27
 
28
- def __init__(self) -> None:
29
- self.reader = asyncio.StreamReader()
28
+ def __init__(self, *, limit: int = DEFAULT_STREAM_LIMIT) -> None:
29
+ self.reader = asyncio.StreamReader(limit=limit)
30
30
 
31
31
  def write(self, data: bytes) -> None:
32
32
  self.reader.feed_data(data)
@@ -62,12 +62,16 @@ async def connect(
62
62
  on_ask: Elicitor | None = None,
63
63
  client_info: Implementation | None = None,
64
64
  initialize: bool = True,
65
+ limit: int = DEFAULT_STREAM_LIMIT,
65
66
  ) -> AsyncIterator[BaseClient]:
66
67
  """A client talking to `registry` through memory.
67
68
 
68
69
  No port, no subprocess, and nothing to tear down. The protocol is the
69
70
  real one: pick `adapter` to see what a client of that revision sees.
70
71
 
72
+ `limit` bounds request and response lines in bytes. The default is
73
+ 1 MiB, matching `StdioClient.spawn`.
74
+
71
75
  Answer a handler's questions with `answers`, keyed by any part of the
72
76
  question's text::
73
77
 
@@ -75,7 +79,7 @@ async def connect(
75
79
  result = await client.call_tool("deploy", {"service": "web"})
76
80
  """
77
81
  chosen = pick(adapter)
78
- to_server, to_client = Pipe(), Pipe()
82
+ to_server, to_client = Pipe(limit=limit), Pipe(limit=limit)
79
83
 
80
84
  def send(payload: Mapping[str, Any]) -> None:
81
85
  to_client.write((json.dumps(payload, ensure_ascii=False) + "\n").encode())