model_modelFieldRemove
Remove a field from an Anki flashcard model to simplify note structure and eliminate unnecessary data fields.
Instructions
Removes a field from an existing model.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| modelName | Yes | Name of the model to modify. | |
| fieldName | Yes | Name of the field to remove. |
Implementation Reference
- src/anki_mcp/model_service.py:144-152 (handler)The core handler function for the tool 'model_modelFieldRemove'. It invokes AnkiConnect's modelFieldRemove action to remove a field from a model.@model_mcp.tool( name="modelFieldRemove", description="Removes a field from an existing model." ) async def remove_model_field_tool( modelName: Annotated[str, Field(description="Name of the model to modify.")], fieldName: Annotated[str, Field(description="Name of the field to remove.")], ) -> None: return await anki_call("modelFieldRemove", modelName=modelName, fieldName=fieldName)
- src/anki_mcp/__init__.py:26-26 (registration)Registers the model service tools under the 'model_' prefix, making 'modelFieldRemove' available as 'model_modelFieldRemove'.await anki_mcp.import_server("model", model_mcp)
- src/anki_mcp/common.py:8-23 (helper)Utility function used by the handler to communicate with the AnkiConnect API.async def anki_call(action: str, **params: Any) -> Any: async with httpx.AsyncClient() as client: payload = {"action": action, "version": 6, "params": params} result = await client.post(ANKICONNECT_URL, json=payload) result.raise_for_status() result_json = result.json() error = result_json.get("error") if error: raise Exception(f"AnkiConnect error for action '{action}': {error}") response = result_json.get("result") if "result" in result_json: return response return result_json
- src/anki_mcp/model_service.py:8-9 (registration)Creates the sub-MCP instance for model tools where the tool is decorated and registered locally.model_mcp = FastMCP(name="AnkiModelService")