Skip to content

Commit 2d9b11b

Browse files
committed
refactor: use snake case instead of camel case in types
1 parent 7080fcf commit 2d9b11b

File tree

101 files changed

+976
-973
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+976
-973
lines changed

examples/clients/simple-chatbot/mcp_simple_chatbot/main.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ async def list_tools(self) -> list[Tool]:
112112

113113
for item in tools_response:
114114
if item[0] == "tools":
115-
tools.extend(Tool(tool.name, tool.description, tool.inputSchema, tool.title) for tool in item[1])
115+
tools.extend(Tool(tool.name, tool.description, tool.input_schema, tool.title) for tool in item[1])
116116

117117
return tools
118118

examples/clients/simple-task-client/mcp_simple_task_client/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ async def run(url: str) -> None:
2525
arguments={},
2626
ttl=60000,
2727
)
28-
task_id = result.task.taskId
28+
task_id = result.task.task_id
2929
print(f"Task created: {task_id}")
3030

3131
status = None
3232
# Poll until done (respects server's pollInterval hint)
3333
async for status in session.experimental.poll_task(task_id):
34-
print(f" Status: {status.status} - {status.statusMessage or ''}")
34+
print(f" Status: {status.status} - {status.status_message or ''}")
3535

3636
# Check final status
3737
if status and status.status != "completed":

examples/clients/simple-task-interactive-client/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ async def sampling_callback(context, params) -> CreateMessageResult:
4949
```python
5050
# Call a tool as a task (returns immediately with task reference)
5151
result = await session.experimental.call_tool_as_task("tool_name", {"arg": "value"})
52-
task_id = result.task.taskId
52+
task_id = result.task.task_id
5353

5454
# Get result - this delivers elicitation/sampling requests and blocks until complete
5555
final = await session.experimental.get_task_result(task_id, CallToolResult)

examples/clients/simple-task-interactive-client/mcp_simple_task_interactive_client/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ async def run(url: str) -> None:
9191
print("Calling confirm_delete tool...")
9292

9393
elicit_task = await session.experimental.call_tool_as_task("confirm_delete", {"filename": "important.txt"})
94-
elicit_task_id = elicit_task.task.taskId
94+
elicit_task_id = elicit_task.task.task_id
9595
print(f"Task created: {elicit_task_id}")
9696

9797
# Poll until terminal, calling tasks/result on input_required
@@ -112,7 +112,7 @@ async def run(url: str) -> None:
112112
print("Calling write_haiku tool...")
113113

114114
sampling_task = await session.experimental.call_tool_as_task("write_haiku", {"topic": "autumn leaves"})
115-
sampling_task_id = sampling_task.task.taskId
115+
sampling_task_id = sampling_task.task.task_id
116116
print(f"Task created: {sampling_task_id}")
117117

118118
# Poll until terminal, calling tasks/result on input_required

examples/fastmcp/icons_demo.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
icon_data = base64.standard_b64encode(icon_path.read_bytes()).decode()
1515
icon_data_uri = f"data:image/png;base64,{icon_data}"
1616

17-
icon_data = Icon(src=icon_data_uri, mimeType="image/png", sizes=["64x64"])
17+
icon_data = Icon(src=icon_data_uri, mime_type="image/png", sizes=["64x64"])
1818

1919
# Create server with icons in implementation
2020
mcp = FastMCP("Icons Demo Server", website_url="https://github.com/modelcontextprotocol/python-sdk", icons=[icon_data])
@@ -40,9 +40,9 @@ def prompt_with_icon(text: str) -> str:
4040

4141
@mcp.tool(
4242
icons=[
43-
Icon(src=icon_data_uri, mimeType="image/png", sizes=["16x16"]),
44-
Icon(src=icon_data_uri, mimeType="image/png", sizes=["32x32"]),
45-
Icon(src=icon_data_uri, mimeType="image/png", sizes=["64x64"]),
43+
Icon(src=icon_data_uri, mime_type="image/png", sizes=["16x16"]),
44+
Icon(src=icon_data_uri, mime_type="image/png", sizes=["32x32"]),
45+
Icon(src=icon_data_uri, mime_type="image/png", sizes=["64x64"]),
4646
]
4747
)
4848
def multi_icon_tool(action: str) -> str:

examples/fastmcp/weather_structured.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -161,32 +161,32 @@ async def test() -> None:
161161
# Test get_weather
162162
result = await client.call_tool("get_weather", {"city": "London"})
163163
print("\nWeather in London:")
164-
print(json.dumps(result.structuredContent, indent=2))
164+
print(json.dumps(result.structured_content, indent=2))
165165

166166
# Test get_weather_summary
167167
result = await client.call_tool("get_weather_summary", {"city": "Paris"})
168168
print("\nWeather summary for Paris:")
169-
print(json.dumps(result.structuredContent, indent=2))
169+
print(json.dumps(result.structured_content, indent=2))
170170

171171
# Test get_weather_metrics
172172
result = await client.call_tool("get_weather_metrics", {"cities": ["Tokyo", "Sydney", "Mumbai"]})
173173
print("\nWeather metrics:")
174-
print(json.dumps(result.structuredContent, indent=2))
174+
print(json.dumps(result.structured_content, indent=2))
175175

176176
# Test get_weather_alerts
177177
result = await client.call_tool("get_weather_alerts", {"region": "California"})
178178
print("\nWeather alerts for California:")
179-
print(json.dumps(result.structuredContent, indent=2))
179+
print(json.dumps(result.structured_content, indent=2))
180180

181181
# Test get_temperature
182182
result = await client.call_tool("get_temperature", {"city": "Berlin", "unit": "fahrenheit"})
183183
print("\nTemperature in Berlin:")
184-
print(json.dumps(result.structuredContent, indent=2))
184+
print(json.dumps(result.structured_content, indent=2))
185185

186186
# Test get_weather_stats
187187
result = await client.call_tool("get_weather_stats", {"city": "Seattle", "days": 30})
188188
print("\nWeather stats for Seattle (30 days):")
189-
print(json.dumps(result.structuredContent, indent=2))
189+
print(json.dumps(result.structured_content, indent=2))
190190

191191
# Also show the text content for comparison
192192
print("\nText content for last result:")
@@ -204,11 +204,11 @@ async def print_schemas() -> None:
204204
print(f"\nTool: {tool.name}")
205205
print(f"Description: {tool.description}")
206206
print("Input Schema:")
207-
print(json.dumps(tool.inputSchema, indent=2))
207+
print(json.dumps(tool.input_schema, indent=2))
208208

209-
if tool.outputSchema:
209+
if tool.output_schema:
210210
print("Output Schema:")
211-
print(json.dumps(tool.outputSchema, indent=2))
211+
print(json.dumps(tool.output_schema, indent=2))
212212
else:
213213
print("Output Schema: None (returns unstructured content)")
214214

examples/servers/everything-server/mcp_everything_server/server.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,13 @@ def test_simple_text() -> str:
9898
@mcp.tool()
9999
def test_image_content() -> list[ImageContent]:
100100
"""Tests image content response"""
101-
return [ImageContent(type="image", data=TEST_IMAGE_BASE64, mimeType="image/png")]
101+
return [ImageContent(type="image", data=TEST_IMAGE_BASE64, mime_type="image/png")]
102102

103103

104104
@mcp.tool()
105105
def test_audio_content() -> list[AudioContent]:
106106
"""Tests audio content response"""
107-
return [AudioContent(type="audio", data=TEST_AUDIO_BASE64, mimeType="audio/wav")]
107+
return [AudioContent(type="audio", data=TEST_AUDIO_BASE64, mime_type="audio/wav")]
108108

109109

110110
@mcp.tool()
@@ -115,7 +115,7 @@ def test_embedded_resource() -> list[EmbeddedResource]:
115115
type="resource",
116116
resource=TextResourceContents(
117117
uri="test://embedded-resource",
118-
mimeType="text/plain",
118+
mime_type="text/plain",
119119
text="This is an embedded resource content.",
120120
),
121121
)
@@ -127,12 +127,12 @@ def test_multiple_content_types() -> list[TextContent | ImageContent | EmbeddedR
127127
"""Tests response with multiple content types (text, image, resource)"""
128128
return [
129129
TextContent(type="text", text="Multiple content types test:"),
130-
ImageContent(type="image", data=TEST_IMAGE_BASE64, mimeType="image/png"),
130+
ImageContent(type="image", data=TEST_IMAGE_BASE64, mime_type="image/png"),
131131
EmbeddedResource(
132132
type="resource",
133133
resource=TextResourceContents(
134134
uri="test://mixed-content-resource",
135-
mimeType="application/json",
135+
mime_type="application/json",
136136
text='{"test": "data", "value": 123}',
137137
),
138138
),
@@ -164,7 +164,7 @@ async def test_tool_with_progress(ctx: Context[ServerSession, None]) -> str:
164164
await ctx.report_progress(progress=100, total=100, message="Completed step 100 of 100")
165165

166166
# Return progress token as string
167-
progress_token = ctx.request_context.meta.progressToken if ctx.request_context and ctx.request_context.meta else 0
167+
progress_token = ctx.request_context.meta.progress_token if ctx.request_context and ctx.request_context.meta else 0
168168
return str(progress_token)
169169

170170

@@ -373,7 +373,7 @@ def test_prompt_with_embedded_resource(resourceUri: str) -> list[UserMessage]:
373373
type="resource",
374374
resource=TextResourceContents(
375375
uri=resourceUri,
376-
mimeType="text/plain",
376+
mime_type="text/plain",
377377
text="Embedded resource content for testing.",
378378
),
379379
),
@@ -386,7 +386,7 @@ def test_prompt_with_embedded_resource(resourceUri: str) -> list[UserMessage]:
386386
def test_prompt_with_image() -> list[UserMessage]:
387387
"""A prompt that includes image content"""
388388
return [
389-
UserMessage(role="user", content=ImageContent(type="image", data=TEST_IMAGE_BASE64, mimeType="image/png")),
389+
UserMessage(role="user", content=ImageContent(type="image", data=TEST_IMAGE_BASE64, mime_type="image/png")),
390390
UserMessage(role="user", content=TextContent(type="text", text="Please analyze the image above.")),
391391
]
392392

@@ -427,7 +427,7 @@ async def _handle_completion(
427427
"""Handle completion requests"""
428428
# Basic completion support - returns empty array for conformance
429429
# Real implementations would provide contextual suggestions
430-
return Completion(values=[], total=0, hasMore=False)
430+
return Completion(values=[], total=0, has_more=False)
431431

432432

433433
# CLI

examples/servers/simple-resource/mcp_simple_resource/server.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ async def list_resources() -> list[types.Resource]:
4040
name=name,
4141
title=SAMPLE_RESOURCES[name]["title"],
4242
description=f"A sample text resource named {name}",
43-
mimeType="text/plain",
43+
mime_type="text/plain",
4444
)
4545
for name in SAMPLE_RESOURCES.keys()
4646
]

examples/snippets/clients/parsing_tool_results.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ async def parse_tool_results():
2222

2323
# Example 2: Parsing structured content from JSON tools
2424
result = await session.call_tool("get_user", {"id": "123"})
25-
if hasattr(result, "structuredContent") and result.structuredContent:
25+
if hasattr(result, "structured_content") and result.structured_content:
2626
# Access structured data directly
27-
user_data = result.structuredContent
27+
user_data = result.structured_content
2828
print(f"User: {user_data.get('name')}, Age: {user_data.get('age')}")
2929

3030
# Example 3: Parsing embedded resources
@@ -41,11 +41,11 @@ async def parse_tool_results():
4141
result = await session.call_tool("generate_chart", {"data": [1, 2, 3]})
4242
for content in result.content:
4343
if isinstance(content, types.ImageContent):
44-
print(f"Image ({content.mimeType}): {len(content.data)} bytes")
44+
print(f"Image ({content.mime_type}): {len(content.data)} bytes")
4545

4646
# Example 5: Handling errors
4747
result = await session.call_tool("failing_tool", {})
48-
if result.isError:
48+
if result.is_error:
4949
print("Tool execution failed!")
5050
for content in result.content:
5151
if isinstance(content, types.TextContent):

examples/snippets/clients/stdio_client.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ async def handle_sampling_message(
3232
text="Hello, world! from model",
3333
),
3434
model="gpt-3.5-turbo",
35-
stopReason="endTurn",
35+
stop_reason="endTurn",
3636
)
3737

3838

@@ -70,7 +70,7 @@ async def run():
7070
result_unstructured = result.content[0]
7171
if isinstance(result_unstructured, types.TextContent):
7272
print(f"Tool result: {result_unstructured.text}")
73-
result_structured = result.structuredContent
73+
result_structured = result.structured_content
7474
print(f"Structured tool result: {result_structured}")
7575

7676

0 commit comments

Comments
 (0)