Skip to main content
Glama

generate_coordinate

Generate random coordinate points in any dimensional space using specified value ranges. Ideal for game object positioning, particle systems, map generation, and spatial sampling in applications like 3D modeling or terrain mapping.

Instructions

Random Coordinate Generator

Generate random coordinate points in a specified dimensional space, each dimension has its own value range. Supports coordinate generation in any number of dimensions. Args: dimensions (int): Number of coordinate dimensions (1D, 2D, 3D, etc.) min_values (List[float]): List of minimum values for each dimension max_values (List[float]): List of maximum values for each dimension coordinate_count (int): Number of coordinate points to generate salt (str, optional): Random number salt value for increased randomness. Defaults to "". Returns: str: JSON string containing random coordinates, formatted as: { "requestId": "Generated request ID", "coordinates": [ [x1, y1, z1, ...], # First point coordinates [x2, y2, z2, ...], # Second point coordinates ... ] } Application Scenarios: 1. Game object positioning (NPC locations, item distribution) 2. Particle systems (effect generation, particle distribution) 3. Map generation (terrain height, resource distribution) 4. Spatial sampling (3D modeling, spatial analysis)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
coordinate_countYes
dimensionsYes
max_valuesYes
min_valuesYes
saltNo

Implementation Reference

  • main.py:266-298 (handler)
    The handler function for the 'generate_coordinate' tool, decorated with @mcp.tool() for registration. It defines the input parameters, documentation, and delegates execution to the coordinate_generator helper in utils.py.
    @mcp.tool() async def generate_coordinate(dimensions: int, min_values: List[float], max_values: List[float], coordinate_count: int, salt: str = "") -> str: """Random Coordinate Generator Generate random coordinate points in a specified dimensional space, each dimension has its own value range. Supports coordinate generation in any number of dimensions. Args: dimensions (int): Number of coordinate dimensions (1D, 2D, 3D, etc.) min_values (List[float]): List of minimum values for each dimension max_values (List[float]): List of maximum values for each dimension coordinate_count (int): Number of coordinate points to generate salt (str, optional): Random number salt value for increased randomness. Defaults to "". Returns: str: JSON string containing random coordinates, formatted as: { "requestId": "Generated request ID", "coordinates": [ [x1, y1, z1, ...], # First point coordinates [x2, y2, z2, ...], # Second point coordinates ... ] } Application Scenarios: 1. Game object positioning (NPC locations, item distribution) 2. Particle systems (effect generation, particle distribution) 3. Map generation (terrain height, resource distribution) 4. Spatial sampling (3D modeling, spatial analysis) """ return await coordinate_generator(dimensions, min_values, max_values, coordinate_count, salt)
  • The core implementation of coordinate generation. Fetches blockchain randomness, derives seed, seeds numpy RNG, and generates uniform random coordinates within specified bounds for each dimension and point.
    async def coordinate_generator(dimensions: int, min_values: List[float], max_values: List[float], coordinate_count: int, salt: str="") -> Dict: """ Random coordinate generator Generate random coordinates in specified dimensional space Args: dimensions: Number of dimensions min_values: Minimum values for each dimension max_values: Maximum values for each dimension coordinate_count: Number of coordinates to generate salt: Optional salt value for additional randomness Returns: Dict containing generated coordinates """ if len(min_values) != dimensions or len(max_values) != dimensions: raise ValueError("Dimension arrays must match specified dimensions") random_num = await get_random_str() if not random_num: return {"error": "Failed to get random number"} request_id = generate_request_id(random_num) seed = _derive_seed(request_id, salt) np.random.seed(seed) coordinates = [] for _ in range(coordinate_count): point = [] for dim in range(dimensions): point.append(float(np.random.uniform(min_values[dim], max_values[dim]))) coordinates.append(point) result = { "requestId": request_id, "coordinates": coordinates } return result

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/suxiongye/random-web3-mcp'

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