Server Details
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Aman-Amith-Shastry/scientific_computation_mcp
- GitHub Stars
- 1
- Server Listing
- Scientific Computation MCP
Available Tools
26 toolsadd_matricesTry in Inspector
Adds two stored tensors element-wise.
Args:
name_a (str): The name of the first tensor.
name_b (str): The name of the second tensor.
Returns:
np.ndarray: The result of element-wise addition.
Raises:
ValueError: If the tensor names are not found or shapes are incompatible.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name_a | Yes | ||
| name_b | Yes |
change_basisTry in Inspector
Changes the basis of a stored square matrix.
Args:
name (str): Name of the matrix in the tensor store.
new_basis (list[list[float]]): Columns are new basis vectors.
Returns:
np.ndarray: Representation of the matrix in the new basis.
Raises:
ValueError: If the matrix name is not found or non-invertible.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| new_basis | Yes |
compute_eigenTry in Inspector
Computes the eigenvalues and right eigenvectors of a stored square matrix.
Args:
name (str): The name of the tensor to analyze.
Returns:
dict: A dictionary with keys:
- 'eigenvalues': np.ndarray
- 'eigenvectors': np.ndarray
Raises:
ValueError: If the tensor is not found or is not a square matrix.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
create_tensorTry in Inspector
Creates a NumPy array (matrix) with a specified shape and values.
Args:
shape (list[int]): The shape of the resulting array as a tuple(e.g., (2, 3)).
values (list[float]): A flat list of values to populate the array.
name (str): The name of the tensor to be stored.
Returns:
np.ndarray: A NumPy array with the specified shape.
Raises:
ValueError: If the number of values does not match the product of the shape.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| shape | Yes | Tensor shape as list of integers | |
| values | Yes | Flat list of floats to fill the tensor |
curlTry in Inspector
Computes the symbolic curl of a vector field, optionally evaluated at a point.
Args:
f_str (str): A string representing the vector field in list format (e.g., "[x+y, x, 2*z]").
point (list[float], optional): A list of coordinates [x, y, z] to evaluate the curl numerically.
Returns:
dict: A dictionary with the symbolic curl as a string, and optionally the evaluated vector.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| f_str | Yes | ||
| point | No |
delete_tensorTry in Inspector
Deletes a tensor from the in-memory tensor store.
Args:
name (str): The name of the tensor to delete.
Raises:
ValueError: If the tensor name is not found in the store or if an error occurs during deletion.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
determinantTry in Inspector
Computes the determinant of a stored square matrix.
Args:
name (str): The name of the matrix.
Returns:
float: The determinant of the matrix.
Raises:
ValueError: If the matrix is not found or is not square.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
directional_derivTry in Inspector
Computes symbolic directional derivative of scalar field along a vector direction.
Args: f_str (str): Expression like "x*y*z". u (list[float]): Direction vector [vx, vy, vz]. unit (bool): True
if u should be normalized before calculating directional derivative. Set to True by default.
Returns:
str: Symbolic result as string.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| u | Yes | ||
| unit | No | ||
| f_str | Yes |
divergenceTry in Inspector
Computes the symbolic divergence of a vector field, optionally evaluated at a point.
Args:
f_str (str): A string representing the vector field in list format (e.g., "[x+y, x, 2*z]").
point (list[float], optional): A list of coordinates [x, y, z] to evaluate the divergence numerically.
Returns:
dict: A dictionary with the symbolic divergence as a string, and optionally the evaluated scalar.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| f_str | Yes | ||
| point | No |
find_orthonormal_basisTry in Inspector
Finds an orthonormal basis for the column space of a stored matrix using QR decomposition.
Args:
name (str): The name of the matrix.
Returns:
list[list[float]]: A list of orthonormal basis vectors.
Raises:
ValueError: If the matrix is not found or decomposition fails.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
gradientTry in Inspector
Computes the symbolic gradient of a scalar function.
Args:
f_str (str): A string representing a scalar function (e.g., "x**2 + y*z").
Returns:
str: A string representation of the symbolic gradient as a vector.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| f_str | Yes |
laplacianTry in Inspector
Computes the Laplacian of a scalar or vector field symbolically.
Args:
f_str (str): Scalar function as "x**2 + y*z" or vector "[Fx, Fy, Fz]".
is_vector (bool): Set True to compute vector Laplacian.
Returns:
str: Symbolic result of the Laplacian—scalar or list of 3 components.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| f_str | Yes | ||
| is_vector | No |
matrix_inverseTry in Inspector
Computes the inverse of a stored square matrix.
Args:
name (str): The name of the tensor to invert.
Returns:
np.ndarray: The inverse of the matrix.
Raises:
ValueError: If the matrix is not found, is not square, or is singular (non-invertible).
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
multiply_matricesTry in Inspector
Performs matrix multiplication between two stored tensors.
Args:
name_a (str): The name of the first tensor.
name_b (str): The name of the second tensor.
Returns:
np.ndarray: The result of matrix multiplication.
Raises:
ValueError: If either tensor is not found or their shapes are incompatible.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name_a | Yes | ||
| name_b | Yes |
plot_functionTry in Inspector
Plots a 2D or 3D mathematical function from a symbolic expression string.
Args:
expr_str: string representation of a function in x or x and y,
e.g. "x**2" or "sin(sqrt(x**2 + y**2))"
xlim: (xmin, xmax) range for x-axis
ylim: (ymin, ymax) range for y-axis (used in 2D or 3D)
grid: resolution of the plot grid
Returns:
A rendered Image of the function using Matplotlib.
- 2D plot if the expression contains only x
- 3D surface plot if the expression contains both x and y
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | ||
| xlim | No | ||
| ylim | No | ||
| expr_str | Yes |
plot_vector_fieldTry in Inspector
Plots a 3D vector field from a string "[u(x,y,z), v(x,y,z), w(x,y,z)]"
Args:
f_str: string representation of 3D field, e.g. "[z, -y, x]".
bounds: (xmin, xmax, ymin, ymax, zmin, zmax)
n: grid resolution per axis
Returns: Displayed Matplotlib 3D quiver plot (no image return needed)
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| f_str | Yes | ||
| bounds | No |
qr_decomposeTry in Inspector
Computes the QR decomposition of a stored matrix.
Decomposes the matrix A into A = Q @ R, where Q is an orthogonal matrix
and R is an upper triangular matrix.
Args:
name (str): The name of the matrix to decompose.
Returns:
dict: A dictionary with keys:
- 'q': np.ndarray, the orthogonal matrix Q
- 'r': np.ndarray, the upper triangular matrix R
Raises:
ValueError: If the matrix is not found or decomposition fails.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
rankTry in Inspector
Computes the rank of a stored tensor.
Args:
name (str): The name of the tensor.
Returns:
int | list[int]: The rank of the matrix.
Raises:
ValueError: If the tensor name is not found in the store.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
scale_matrixTry in Inspector
Scales a stored tensor by a scalar factor.
Args:
name (str): The name of the tensor to scale.
scale_factor (float): The scalar value to multiply the tensor by.
in_place (bool): If True, updates the stored tensor; otherwise, returns a new scaled tensor.
Returns:
np.ndarray: The scaled tensor.
Raises:
ValueError: If the tensor name is not found in the store.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| in_place | No | ||
| scale_factor | Yes |
subtract_matricesTry in Inspector
Adds two stored tensors element-wise.
Args:
name_a (str): The name of the first tensor.
name_b (str): The name of the second tensor.
Returns:
np.ndarray: The result of element-wise subtraction.
Raises:
ValueError: If the tensor names are not found or shapes are incompatible.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name_a | Yes | ||
| name_b | Yes |
svd_decomposeTry in Inspector
Computes the Singular Value Decomposition (SVD) of a stored matrix.
Decomposes the matrix A into A = U @ S @ V^T, where U and V^T are orthogonal
matrices, and S is a diagonal matrix of singular values.
Args:
name (str): The name of the matrix to decompose.
Returns:
dict: A dictionary with keys:
- 'u': np.ndarray, the left singular vectors
- 's': np.ndarray, the singular values
- 'v_t': np.ndarray, the right singular vectors transposed
Raises:
ValueError: If the matrix is not found or decomposition fails.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
transposeTry in Inspector
Computes the transpose of a stored tensor.
Args:
name (str): The name of the tensor to transpose.
Returns:
np.ndarray: The transposed tensor.
Raises:
ValueError: If the tensor name is not found in the store.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
vector_cross_productTry in Inspector
Computes the cross product of two stored vectors.
Args:
name_a (str): Name of the first vector in the tensor store.
name_b (str): Name of the second vector in the tensor store.
Returns:
np.ndarray: Vector result of the cross product.
Raises:
ValueError: If either vector is not found or if the cross product computation fails.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name_a | Yes | ||
| name_b | Yes |
vector_dot_productTry in Inspector
Computes the dot product between two stored vectors.
Args:
name_a (str): Name of the first vector in the tensor store.
name_b (str): Name of the second vector in the tensor store.
Returns:
np.ndarray: Scalar result of the dot product.
Raises:
ValueError: If either vector is not found or if the dot product computation fails.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name_a | Yes | ||
| name_b | Yes |
vector_projectTry in Inspector
Projects a stored vector onto another vector.
Args:
name (str): Name of the stored vector to project.
new_vector (list[float]): The vector to project onto.
Returns:
np.ndarray: The projection result vector.
Raises:
ValueError: If the vector name is not found or projection fails.
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| new_vector | Yes |
view_tensorTry in Inspector
Returns an immutable view of a previously stored NumPy tensor from the in-memory tensor store.
Args:
name (str): The name of the tensor as stored in the in-store dictionary
Returns:
dict: The in-store dictionary for tensors
ParametersJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
FAQ
How do I claim this server?
To claim this server, publish a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [
{
"email": "your-email@example.com"
}
]
}
The email address must match the email associated with your Glama account. Once verified, the server will appear as claimed by you.
What are the benefits of claiming a server?
- Control your server's listing on Glama, including description and metadata
- Receive usage reports showing how your server is being used
- Get monitoring and health status updates for your server
Try in Browser
Your Connectors
Sign in to create a connector for this server.