aiohttp-tiny-mcp 0.2.4__tar.gz → 0.2.5__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 (43) hide show
  1. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/PKG-INFO +1 -1
  2. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/pyproject.toml +1 -1
  3. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/pyproject.toml.orig +1 -1
  4. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/__init__.py +6 -0
  5. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/models.py +22 -14
  6. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/LICENSE +0 -0
  7. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/README.md +0 -0
  8. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/adapter.py +0 -0
  9. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/auth.py +0 -0
  10. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/client.py +0 -0
  11. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/client_base.py +0 -0
  12. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/console/__init__.py +0 -0
  13. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/console/console.css +0 -0
  14. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/console/console.js +0 -0
  15. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/console/index.html +0 -0
  16. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/core.py +0 -0
  17. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/dispatcher.py +0 -0
  18. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/endpoint.py +0 -0
  19. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/exchange.py +0 -0
  20. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/http_sse.py +0 -0
  21. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/hub.py +0 -0
  22. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/namespaces.py +0 -0
  23. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/postgres.py +0 -0
  24. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/protocol/__init__.py +0 -0
  25. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/protocol/selection.py +0 -0
  26. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/protocol/v2024_11_05.py +0 -0
  27. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/protocol/v2025_03_26.py +0 -0
  28. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/protocol/v2025_06_18.py +0 -0
  29. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/protocol/v2025_11_25.py +0 -0
  30. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/protocol/v2026_07_28.py +0 -0
  31. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/py.typed +0 -0
  32. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/redis.py +0 -0
  33. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/registry.py +0 -0
  34. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/request_state.py +0 -0
  35. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/schema.py +0 -0
  36. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/sessions.py +0 -0
  37. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/specs.py +0 -0
  38. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/sqlite.py +0 -0
  39. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/sse.py +0 -0
  40. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/stdio.py +0 -0
  41. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/stdio_client.py +0 -0
  42. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/subscriptions.py +0 -0
  43. {aiohttp_tiny_mcp-0.2.4 → aiohttp_tiny_mcp-0.2.5}/src/aiohttp_tiny_mcp/testing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiohttp-tiny-mcp
3
- Version: 0.2.4
3
+ Version: 0.2.5
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.2.4"
3
+ version = "0.2.5"
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.2.4"
3
+ version = "0.2.5"
4
4
  description = "Remote MCP server and client library for aiohttp"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"
@@ -19,14 +19,17 @@ from .http_sse import SseEndpoint
19
19
  from .hub import Hub, MemoryHub
20
20
  from .models import (
21
21
  AudioContent,
22
+ BlobResourceContents,
22
23
  CallToolResult,
23
24
  Completion,
25
+ EmbeddedResource,
24
26
  GetPromptResult,
25
27
  Hint,
26
28
  ImageContent,
27
29
  PromptMessage,
28
30
  ResourceLink,
29
31
  TextContent,
32
+ TextResourceContents,
30
33
  )
31
34
  from .namespaces import namespace
32
35
  from .protocol.selection import AdapterSet
@@ -42,11 +45,13 @@ __all__ = [
42
45
  "Answer",
43
46
  "AnswerAction",
44
47
  "AudioContent",
48
+ "BlobResourceContents",
45
49
  "CallToolResult",
46
50
  "Client",
47
51
  "ClientError",
48
52
  "Elicitor",
49
53
  "Completion",
54
+ "EmbeddedResource",
50
55
  "Endpoint",
51
56
  "SSEResponse",
52
57
  "Exchange",
@@ -67,6 +72,7 @@ __all__ = [
67
72
  "SessionStore",
68
73
  "StdioClient",
69
74
  "TextContent",
75
+ "TextResourceContents",
70
76
  "elicit",
71
77
  "elicit_accept",
72
78
  "elicit_cancel",
@@ -52,8 +52,27 @@ class ResourceLink(Model):
52
52
  mime_type: str | None = None
53
53
 
54
54
 
55
+ class TextResourceContents(Model):
56
+ uri: str
57
+ text: str
58
+ mime_type: str | None = None
59
+
60
+
61
+ class BlobResourceContents(Model):
62
+ uri: str
63
+ blob: str
64
+ mime_type: str | None = None
65
+
66
+
67
+ class EmbeddedResource(Model):
68
+ """Resource contents carried in the result, instead of a link to read later."""
69
+
70
+ type: Literal["resource"] = "resource"
71
+ resource: TextResourceContents | BlobResourceContents
72
+
73
+
55
74
  ContentBlock = Annotated[
56
- TextContent | ImageContent | AudioContent | ResourceLink,
75
+ TextContent | ImageContent | AudioContent | ResourceLink | EmbeddedResource,
57
76
  Field(discriminator="type"),
58
77
  ]
59
78
 
@@ -107,7 +126,8 @@ class Hint(Enum):
107
126
  class ToolDef(Model):
108
127
  name: str
109
128
  title: str | None = None
110
- description: str
129
+ # A server may omit the description, so a tool list stays readable without one.
130
+ description: str = ""
111
131
  input_schema: dict[str, Any]
112
132
  output_schema: dict[str, Any] | None = None
113
133
  annotations: dict[str, Any] | None = None
@@ -163,18 +183,6 @@ class ResourceTemplateDef(Model):
163
183
  mime_type: str | None = None
164
184
 
165
185
 
166
- class TextResourceContents(Model):
167
- uri: str
168
- text: str
169
- mime_type: str | None = None
170
-
171
-
172
- class BlobResourceContents(Model):
173
- uri: str
174
- blob: str
175
- mime_type: str | None = None
176
-
177
-
178
186
  class ListResourcesResult(CacheableResult):
179
187
  resources: list[ResourceDef]
180
188
  next_cursor: str | None = None