Skip to content

Commit a6c5ff5

Browse files
authored
Merge branch 'main' into claude/issue-1601-20250824-0101
2 parents e3cacdf + 1f3f82d commit a6c5ff5

36 files changed

+1656
-1602
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,13 @@ dmypy.json
6464
# Claude worktree management
6565
.claude-wt/worktrees
6666

67+
# Agents
68+
/PLAN.md
69+
/TODO.md
70+
/STATUS.md
71+
6772
# Common FastMCP test files
6873
/test.py
6974
/server.py
7075
/client.py
76+
/test.json

docs/assets/schemas/fastmcp_config/latest.json

Lines changed: 57 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$defs": {
3-
"DeploymentConfig": {
3+
"Deployment": {
44
"description": "Configuration for server deployment and runtime settings.",
55
"properties": {
66
"transport": {
@@ -159,64 +159,10 @@
159159
"title": "Args"
160160
}
161161
},
162-
"title": "DeploymentConfig",
162+
"title": "Deployment",
163163
"type": "object"
164164
},
165-
"EntrypointConfig": {
166-
"description": "Configuration for server entrypoint when using object format.",
167-
"properties": {
168-
"file": {
169-
"description": "Path to Python file containing the server",
170-
"examples": [
171-
"server.py",
172-
"src/server.py",
173-
"app/main.py"
174-
],
175-
"title": "File",
176-
"type": "string"
177-
},
178-
"object": {
179-
"anyOf": [
180-
{
181-
"type": "string"
182-
},
183-
{
184-
"type": "null"
185-
}
186-
],
187-
"default": null,
188-
"description": "Name of the server object in the file (defaults to searching for mcp/server/app)",
189-
"examples": [
190-
"app",
191-
"mcp",
192-
"server"
193-
],
194-
"title": "Object"
195-
},
196-
"repo": {
197-
"anyOf": [
198-
{
199-
"type": "string"
200-
},
201-
{
202-
"type": "null"
203-
}
204-
],
205-
"default": null,
206-
"description": "Git repository URL",
207-
"examples": [
208-
"https://github.com/user/repo"
209-
],
210-
"title": "Repo"
211-
}
212-
},
213-
"required": [
214-
"file"
215-
],
216-
"title": "EntrypointConfig",
217-
"type": "object"
218-
},
219-
"EnvironmentConfig": {
165+
"Environment": {
220166
"description": "Configuration for Python environment setup.",
221167
"properties": {
222168
"python": {
@@ -312,7 +258,42 @@
312258
"title": "Editable"
313259
}
314260
},
315-
"title": "EnvironmentConfig",
261+
"title": "Environment",
262+
"type": "object"
263+
},
264+
"FileSystemSource": {
265+
"description": "Source for local Python files.",
266+
"properties": {
267+
"type": {
268+
"const": "filesystem",
269+
"default": "filesystem",
270+
"description": "Source type",
271+
"title": "Type",
272+
"type": "string"
273+
},
274+
"path": {
275+
"description": "Path to Python file containing the server",
276+
"title": "Path",
277+
"type": "string"
278+
},
279+
"entrypoint": {
280+
"anyOf": [
281+
{
282+
"type": "string"
283+
},
284+
{
285+
"type": "null"
286+
}
287+
],
288+
"default": null,
289+
"description": "Name of server instance or factory function (a no-arg function that returns a FastMCP server)",
290+
"title": "Entrypoint"
291+
}
292+
},
293+
"required": [
294+
"path"
295+
],
296+
"title": "FileSystemSource",
316297
"type": "object"
317298
}
318299
},
@@ -327,35 +308,41 @@
327308
"type": "null"
328309
}
329310
],
330-
"default": "https://gofastmcp.com/schemas/fastmcp_config/v1.json",
311+
"default": "https://gofastmcp.com/public/schemas/fastmcp.json/v1.json",
331312
"description": "JSON schema for IDE support and validation",
332313
"title": "$Schema"
333314
},
334-
"entrypoint": {
335-
"$ref": "#/$defs/EntrypointConfig",
336-
"description": "Server entrypoint as a string (file or file:object) or object with file/object/repo",
315+
"source": {
316+
"$ref": "#/$defs/FileSystemSource",
317+
"description": "Source configuration for the server",
337318
"examples": [
338-
"server.py",
339-
"server.py:app",
340319
{
341-
"file": "src/server.py",
342-
"object": "app"
320+
"path": "server.py"
321+
},
322+
{
323+
"entrypoint": "app",
324+
"path": "server.py"
325+
},
326+
{
327+
"entrypoint": "mcp",
328+
"path": "src/server.py",
329+
"type": "filesystem"
343330
}
344331
]
345332
},
346333
"environment": {
347-
"$ref": "#/$defs/EnvironmentConfig",
334+
"$ref": "#/$defs/Environment",
348335
"description": "Python environment setup configuration"
349336
},
350337
"deployment": {
351-
"$ref": "#/$defs/DeploymentConfig",
338+
"$ref": "#/$defs/Deployment",
352339
"description": "Server deployment and runtime settings"
353340
}
354341
},
355342
"required": [
356-
"entrypoint"
343+
"source"
357344
],
358345
"title": "FastMCP Configuration",
359346
"type": "object",
360-
"$id": "https://gofastmcp.com/schemas/fastmcp_config/v1.json"
347+
"$id": "https://gofastmcp.com/public/schemas/fastmcp.json/v1.json"
361348
}

docs/assets/schemas/fastmcp_config/v1.json

Lines changed: 57 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"$defs": {
3-
"DeploymentConfig": {
3+
"Deployment": {
44
"description": "Configuration for server deployment and runtime settings.",
55
"properties": {
66
"transport": {
@@ -159,64 +159,10 @@
159159
"title": "Args"
160160
}
161161
},
162-
"title": "DeploymentConfig",
162+
"title": "Deployment",
163163
"type": "object"
164164
},
165-
"EntrypointConfig": {
166-
"description": "Configuration for server entrypoint when using object format.",
167-
"properties": {
168-
"file": {
169-
"description": "Path to Python file containing the server",
170-
"examples": [
171-
"server.py",
172-
"src/server.py",
173-
"app/main.py"
174-
],
175-
"title": "File",
176-
"type": "string"
177-
},
178-
"object": {
179-
"anyOf": [
180-
{
181-
"type": "string"
182-
},
183-
{
184-
"type": "null"
185-
}
186-
],
187-
"default": null,
188-
"description": "Name of the server object in the file (defaults to searching for mcp/server/app)",
189-
"examples": [
190-
"app",
191-
"mcp",
192-
"server"
193-
],
194-
"title": "Object"
195-
},
196-
"repo": {
197-
"anyOf": [
198-
{
199-
"type": "string"
200-
},
201-
{
202-
"type": "null"
203-
}
204-
],
205-
"default": null,
206-
"description": "Git repository URL",
207-
"examples": [
208-
"https://github.com/user/repo"
209-
],
210-
"title": "Repo"
211-
}
212-
},
213-
"required": [
214-
"file"
215-
],
216-
"title": "EntrypointConfig",
217-
"type": "object"
218-
},
219-
"EnvironmentConfig": {
165+
"Environment": {
220166
"description": "Configuration for Python environment setup.",
221167
"properties": {
222168
"python": {
@@ -312,7 +258,42 @@
312258
"title": "Editable"
313259
}
314260
},
315-
"title": "EnvironmentConfig",
261+
"title": "Environment",
262+
"type": "object"
263+
},
264+
"FileSystemSource": {
265+
"description": "Source for local Python files.",
266+
"properties": {
267+
"type": {
268+
"const": "filesystem",
269+
"default": "filesystem",
270+
"description": "Source type",
271+
"title": "Type",
272+
"type": "string"
273+
},
274+
"path": {
275+
"description": "Path to Python file containing the server",
276+
"title": "Path",
277+
"type": "string"
278+
},
279+
"entrypoint": {
280+
"anyOf": [
281+
{
282+
"type": "string"
283+
},
284+
{
285+
"type": "null"
286+
}
287+
],
288+
"default": null,
289+
"description": "Name of server instance or factory function (a no-arg function that returns a FastMCP server)",
290+
"title": "Entrypoint"
291+
}
292+
},
293+
"required": [
294+
"path"
295+
],
296+
"title": "FileSystemSource",
316297
"type": "object"
317298
}
318299
},
@@ -327,35 +308,41 @@
327308
"type": "null"
328309
}
329310
],
330-
"default": "https://gofastmcp.com/schemas/fastmcp_config/v1.json",
311+
"default": "https://gofastmcp.com/public/schemas/fastmcp.json/v1.json",
331312
"description": "JSON schema for IDE support and validation",
332313
"title": "$Schema"
333314
},
334-
"entrypoint": {
335-
"$ref": "#/$defs/EntrypointConfig",
336-
"description": "Server entrypoint as a string (file or file:object) or object with file/object/repo",
315+
"source": {
316+
"$ref": "#/$defs/FileSystemSource",
317+
"description": "Source configuration for the server",
337318
"examples": [
338-
"server.py",
339-
"server.py:app",
340319
{
341-
"file": "src/server.py",
342-
"object": "app"
320+
"path": "server.py"
321+
},
322+
{
323+
"entrypoint": "app",
324+
"path": "server.py"
325+
},
326+
{
327+
"entrypoint": "mcp",
328+
"path": "src/server.py",
329+
"type": "filesystem"
343330
}
344331
]
345332
},
346333
"environment": {
347-
"$ref": "#/$defs/EnvironmentConfig",
334+
"$ref": "#/$defs/Environment",
348335
"description": "Python environment setup configuration"
349336
},
350337
"deployment": {
351-
"$ref": "#/$defs/DeploymentConfig",
338+
"$ref": "#/$defs/Deployment",
352339
"description": "Server deployment and runtime settings"
353340
}
354341
},
355342
"required": [
356-
"entrypoint"
343+
"source"
357344
],
358345
"title": "FastMCP Configuration",
359346
"type": "object",
360-
"$id": "https://gofastmcp.com/schemas/fastmcp_config/v1.json"
347+
"$id": "https://gofastmcp.com/public/schemas/fastmcp.json/v1.json"
361348
}

0 commit comments

Comments
 (0)