Skip to main content
Glama
enkryptai

Enkrypt AI MCP Server

Official
by enkryptai

add_model_from_url

Integrate a URL-based chatbot model into the Enkrypt AI MCP Server by providing a configuration dictionary with model details, including URL, name, and version, for streamlined AI safety analysis.

Instructions

Add a new model using the provided configuration.

Args: config: A dictionary containing the url model configuration details. The structure of the ModelConfig is as follows: Example usage: { "model_saved_name": "example_model_name", # The name under which the model is saved. "model_version": "v1", # The version of the model. "testing_for": "URL", # The purpose for which the model is being tested. (Always URL) "model_name":"example_url", # The url of the chatbot site provided by user. "model_config": { "model_provider": "url", # Always fixed to 'url' "endpoint_url":"example_url", # Same as model_name "apikey":"none", # The API key to access the model. "input_modalities": ["text"], # Always fixed to ['text'] "output_modalities": ["text"], # Always fixed to ['text'] }, } Ask the user for the url before passing the config to the tool.

Returns: A dictionary containing the response message and details of the added model.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
configYes

Implementation Reference

  • The @mcp.tool() decorator registers the 'add_model_from_url' tool, and the function implements the core logic by calling model_client.add_model with the provided config and returning the response as a dictionary. The docstring provides the input schema example.
    @mcp.tool()
    def add_model_from_url(config: Dict[str, Any]) -> Dict[str, Any]:
        """
        Add a new model using the provided configuration.
    
        Args:
            config: A dictionary containing the url model configuration details. The structure of the ModelConfig is as follows:
                Example usage:
                {
                    "model_saved_name": "example_model_name",  # The name under which the model is saved.
                    "model_version": "v1",  # The version of the model.
                    "testing_for": "URL", # The purpose for which the model is being tested. (Always URL)
                    "model_name":"example_url",  # The url of the chatbot site provided by user.
                    "model_config": {
                        "model_provider": "url",  # Always fixed to 'url'
                        "endpoint_url":"example_url",  # Same as model_name
                        "apikey":"none",  # The API key to access the model.
                        "input_modalities": ["text"], # Always fixed to ['text']
                        "output_modalities": ["text"], # Always fixed to ['text']
                    },
                }
        Ask the user for the url before passing the config to the tool.
    
        Returns:
            A dictionary containing the response message and details of the added model.
        """
        # Add the model using the provided configuration
        add_model_response = model_client.add_model(config=copy.deepcopy(config))
        
        # Return the response as a dictionary
        return add_model_response.to_dict()
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions the tool adds a model and returns a response dictionary, but lacks critical behavioral details: whether this is a write operation (implied but not stated), what permissions are needed, if there are rate limits, whether the model becomes immediately available, or what happens on failure. The description adds basic context but is insufficient for a mutation tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized but could be more front-loaded. The core purpose is stated first, but the example usage is lengthy and includes redundant comments (e.g., 'Always fixed to...'). The 'Ask the user...' instruction is useful but placed after the example. Some sentences could be trimmed for efficiency, though overall structure is logical.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (1 parameter with nested objects, no annotations, no output schema), the description is partially complete. It excels in parameter documentation but lacks behavioral context for a mutation tool. Without annotations or output schema, it should explain more about the operation's effects, error handling, or return value specifics beyond 'dictionary containing...' to be fully adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate. It provides extensive parameter semantics: it explains the 'config' parameter is a dictionary with a detailed example structure, including all nested fields, their purposes, and fixed values. This adds significant meaning beyond the minimal schema, effectively documenting the single parameter's expected format and content.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Add a new model using the provided configuration.' This specifies the verb ('Add') and resource ('new model'), and distinguishes it from siblings like 'add_model' (which likely adds models from other sources) by specifying 'from url' in the tool name. However, it doesn't explicitly differentiate from 'add_model' in the description text itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal usage guidance. It includes 'Ask the user for the url before passing the config to the tool,' which gives some procedural context, but doesn't explain when to use this tool versus alternatives like 'add_model' or other model-related tools. No explicit when/when-not guidance or prerequisites are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/enkryptai/enkryptai-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server