You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: add Dependabot configuration for automated dependency updates
- Introduced .github/dependabot.yml to manage dependency updates for Go, Rust, Python, and GitHub Actions.
- Configured weekly update schedules with limits on open pull requests and appropriate labels for better organization.
Elicitation is supported in all three languages with graceful degradation — if the client doesn't support elicitation, the tool proceeds without confirmation.
276
278
279
+
### Field: `mcp.protobuf.field`
280
+
281
+
Add JSON Schema metadata to a message field for the MCP tool inputSchema:
282
+
283
+
```protobuf
284
+
message User {
285
+
string name = 1 [
286
+
(google.api.field_behavior) = IDENTIFIER,
287
+
(mcp.protobuf.field) = {
288
+
description: "The resource name of the user. You can parse the user id from the resource name."
289
+
examples: "users/alice"
290
+
examples: "users/bob"
291
+
format: "uri" // optional: override format (uri, email, uuid, etc.)
292
+
deprecated: false // optional: mark field as deprecated
293
+
}
294
+
];
295
+
}
296
+
```
297
+
298
+
-**description** — Human-readable description (recommended for LLMs)
299
+
-**examples** — Example values to guide LLMs (repeated)
300
+
-**deprecated** — Mark the field as deprecated in the schema
301
+
-**format** — JSON Schema format override (e.g. `uri`, `email`, `uuid`)
302
+
303
+
### Enum: `mcp.protobuf.enum` and `mcp.protobuf.enum_value`
304
+
305
+
Add descriptions to enum types and individual enum values for the MCP tool inputSchema:
306
+
307
+
```protobuf
308
+
enum Priority {
309
+
option (mcp.protobuf.enum) = { description: "Priority level for a todo item." };
constTODO_SERVICE__CREATE_TODO_SCHEMA_JSON:&str = r##"{"description":"Creates a new todo item under a user. Requires parent (e.g. users/alice), a todo object with title/description/priority, and a unique todo_id.","properties":{"parent":{"description":"Parent resource name (e.g. users/alice). The todo will be created under this user.","type":"string"},"todo":{"properties":{"completed":{"description":"Whether the todo is done.","type":"boolean"},"create_time":{"format":"date-time","type":["string","null"]},"description":{"description":"Optional longer description or notes.","type":"string"},"name":{"description":"Resource name (e.g. users/alice/todos/abc123). Required when updating.","type":"string"},"priority":{"description":"Priority level for a todo item.. PRIORITY_UNSPECIFIED: Unspecified; use default priority.. PRIORITY_LOW: Low priority; can be done when convenient.. PRIORITY_MEDIUM: Normal priority; default for most todos.. PRIORITY_HIGH: High priority; should be done soon.. PRIORITY_URGENT: Urgent; do first.","enum":["PRIORITY_UNSPECIFIED","PRIORITY_LOW","PRIORITY_MEDIUM","PRIORITY_HIGH","PRIORITY_URGENT"],"enumDescriptions":{"PRIORITY_HIGH":"High priority; should be done soon.","PRIORITY_LOW":"Low priority; can be done when convenient.","PRIORITY_MEDIUM":"Normal priority; default for most todos.","PRIORITY_UNSPECIFIED":"Unspecified; use default priority.","PRIORITY_URGENT":"Urgent; do first."},"type":"string"},"title":{"description":"Short title for the todo.","type":"string"},"update_time":{"format":"date-time","type":["string","null"]}},"required":[],"type":"object"},"todo_id":{"description":"Unique ID for the todo (e.g. abc123). Becomes the final segment of the resource name.","examples":["abc123","todo-001"],"type":"string"}},"required":["parent","todo","todo_id"],"type":"object"}"##;
19
+
constTODO_SERVICE__DELETE_TODO_SCHEMA_JSON:&str = r##"{"description":"Permanently deletes a todo item by its resource name. This action cannot be undone.","properties":{"name":{"description":"Resource name of the todo to delete (e.g. users/alice/todos/abc123).","type":"string"}},"required":["name"],"type":"object"}"##;
20
+
constTODO_SERVICE__GET_TODO_SCHEMA_JSON:&str = r##"{"description":"Retrieves a single todo item by its resource name (e.g. users/alice/todos/abc123).","properties":{"name":{"description":"Resource name of the todo (e.g. users/alice/todos/abc123).","examples":["users/alice/todos/abc123"],"format":"uri","type":"string"}},"required":["name"],"type":"object"}"##;
21
+
constTODO_SERVICE__LIST_TODOS_SCHEMA_JSON:&str = r##"{"description":"Lists all todo items for a user. Supports pagination via page_size and page_token.","properties":{"page_size":{"description":"Max number of todos to return (default 50).","type":"integer"},"page_token":{"description":"Token from previous response for next page.","type":"string"},"parent":{"description":"Parent resource name (e.g. users/alice). Lists todos for this user.","type":"string"}},"required":["parent"],"type":"object"}"##;
22
+
constTODO_SERVICE__UPDATE_TODO_SCHEMA_JSON:&str = r##"{"description":"Updates an existing todo item. Send the todo with its resource name and the fields to update. Use update_mask to specify which fields to modify.","properties":{"todo":{"properties":{"completed":{"description":"Whether the todo is done.","type":"boolean"},"create_time":{"format":"date-time","type":["string","null"]},"description":{"description":"Optional longer description or notes.","type":"string"},"name":{"description":"Resource name (e.g. users/alice/todos/abc123). Required when updating.","type":"string"},"priority":{"description":"Priority level for a todo item.. PRIORITY_UNSPECIFIED: Unspecified; use default priority.. PRIORITY_LOW: Low priority; can be done when convenient.. PRIORITY_MEDIUM: Normal priority; default for most todos.. PRIORITY_HIGH: High priority; should be done soon.. PRIORITY_URGENT: Urgent; do first.","enum":["PRIORITY_UNSPECIFIED","PRIORITY_LOW","PRIORITY_MEDIUM","PRIORITY_HIGH","PRIORITY_URGENT"],"enumDescriptions":{"PRIORITY_HIGH":"High priority; should be done soon.","PRIORITY_LOW":"Low priority; can be done when convenient.","PRIORITY_MEDIUM":"Normal priority; default for most todos.","PRIORITY_UNSPECIFIED":"Unspecified; use default priority.","PRIORITY_URGENT":"Urgent; do first."},"type":"string"},"title":{"description":"Short title for the todo.","type":"string"},"update_time":{"format":"date-time","type":["string","null"]}},"required":[],"type":"object"},"update_mask":{"description":"Comma-separated field names to update (e.g. title,completed). Omit to update all provided fields.","type":"string"}},"required":["todo"],"type":"object"}"##;
0 commit comments