/
by ai.smithery
This MCP server enables users to perform scientific computations regarding linear algebra and vect…
Server configuration and capabilities from the MCP manifest
Size: 10,845 bytes (2,712 tokens)
Tools Found: 27
Analysis ID: zzfurgdf
This MCP server provides tools for matrix and tensor operations, vector calculus, and visualization.
Stars
Registry ID: 41f4e655-f368-4219-b79c-b0098dd1fc67
Added to Registry: 9/21/2025
Last Updated: 9/22/2025
Last Seen: 9/22/2025
License: MIT License
Default Branch: main
Last Push: 9/2/2025
Open Issues: 0
Historical performance and growth metrics over time
{
"name": "numpy-mcp",
"tags": [],
"tools": [
{
"name": "add_matrices",
"description": "Adds two stored tensors element-wise.",
"input_schema": {
"type": "object",
"required": [
"name_a",
"name_b"
],
"properties": {
"name_a": {
"type": "string",
"description": "The name of the first tensor."
},
"name_b": {
"type": "string",
"description": "The name of the second tensor."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "subtract_matrices",
"description": "Adds two stored tensors element-wise.",
"input_schema": {
"type": "object",
"required": [
"name_a",
"name_b"
],
"properties": {
"name_a": {
"type": "string",
"description": "The name of the first tensor."
},
"name_b": {
"type": "string",
"description": "The name of the second tensor."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "multiply_matrices",
"description": "Performs matrix multiplication between two stored tensors.",
"input_schema": {
"type": "object",
"required": [
"name_a",
"name_b"
],
"properties": {
"name_a": {
"type": "string",
"description": "The name of the first tensor."
},
"name_b": {
"type": "string",
"description": "The name of the second tensor."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "scale_matrix",
"description": "Scales a stored tensor by a scalar factor.",
"input_schema": {
"type": "object",
"required": [
"name",
"scale_factor"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tensor to scale."
},
"in_place": {
"type": "boolean",
"description": "If True, updates the stored tensor; otherwise, returns a new scaled tensor."
},
"scale_factor": {
"type": "number",
"description": "The scalar value to multiply the tensor by."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "matrix_inverse",
"description": "Computes the inverse of a stored square matrix.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tensor to invert."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "transpose",
"description": "Computes the transpose of a stored tensor.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tensor to transpose."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "determinant",
"description": "Computes the determinant of a stored square matrix.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the matrix."
}
}
},
"output_schema": {
"type": "number"
}
},
{
"name": "rank",
"description": "Computes the rank of a stored tensor.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tensor."
}
}
},
"output_schema": {
"type": "integer"
}
},
{
"name": "compute_eigen",
"description": "Computes the eigenvalues and right eigenvectors of a stored square matrix.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tensor to analyze."
}
}
},
"output_schema": {
"type": "object",
"properties": {
"eigenvalues": {
"type": "array",
"items": {
"type": "number"
}
},
"eigenvectors": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
}
}
}
}
},
{
"name": "qr_decompose",
"description": "Computes the QR decomposition of a stored matrix.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the matrix to decompose."
}
}
},
"output_schema": {
"type": "object",
"properties": {
"q": {
"type": "array",
"items": {
"type": "number"
}
},
"r": {
"type": "array",
"items": {
"type": "number"
}
}
}
}
},
{
"name": "svd_decompose",
"description": "Computes the Singular Value Decomposition (SVD) of a stored matrix.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the matrix to decompose."
}
}
},
"output_schema": {
"type": "object",
"properties": {
"s": {
"type": "array",
"items": {
"type": "number"
}
},
"u": {
"type": "array",
"items": {
"type": "number"
}
},
"v_t": {
"type": "array",
"items": {
"type": "number"
}
}
}
}
},
{
"name": "find_orthonormal_basis",
"description": "Finds an orthonormal basis for the column space of a stored matrix using QR decomposition.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the matrix."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
}
}
},
{
"name": "change_basis",
"description": "Changes the basis of a stored square matrix.",
"input_schema": {
"type": "object",
"required": [
"name",
"new_basis"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the matrix in the tensor store."
},
"new_basis": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "number"
}
},
"description": "Columns are new basis vectors."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "create_tensor",
"description": "Creates a NumPy array (matrix) with a specified shape and values.",
"input_schema": {
"type": "object",
"required": [
"shape",
"values",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tensor to be stored."
},
"shape": {
"type": "array",
"items": {
"type": "integer"
},
"description": "The shape of the resulting array as a list of integers."
},
"values": {
"type": "array",
"items": {
"type": "number"
},
"description": "A flat list of values to populate the array."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "view_tensor",
"description": "Returns an immutable view of a previously stored NumPy tensor from the in-memory tensor store.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tensor as stored in the in-store dictionary."
}
}
},
"output_schema": {
"type": "object"
}
},
{
"name": "list_tensor_names",
"description": "Lists the names of all tensors currently stored in the tensor store.",
"input_schema": {},
"output_schema": {
"type": "string"
}
},
{
"name": "delete_tensor",
"description": "Deletes a tensor from the in-memory tensor store.",
"input_schema": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the tensor to delete."
}
}
},
"output_schema": {}
},
{
"name": "vector_project",
"description": "Projects a stored vector onto another vector.",
"input_schema": {
"type": "object",
"required": [
"name",
"new_vector"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the stored vector to project."
},
"new_vector": {
"type": "array",
"items": {
"type": "number"
},
"description": "The vector to project onto."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "vector_dot_product",
"description": "Computes the dot product between two stored vectors.",
"input_schema": {
"type": "object",
"required": [
"name_a",
"name_b"
],
"properties": {
"name_a": {
"type": "string",
"description": "Name of the first vector in the tensor store."
},
"name_b": {
"type": "string",
"description": "Name of the second vector in the tensor store."
}
}
},
"output_schema": {
"type": "number"
}
},
{
"name": "vector_cross_product",
"description": "Computes the cross product of two stored vectors.",
"input_schema": {
"type": "object",
"required": [
"name_a",
"name_b"
],
"properties": {
"name_a": {
"type": "string",
"description": "Name of the first vector in the tensor store."
},
"name_b": {
"type": "string",
"description": "Name of the second vector in the tensor store."
}
}
},
"output_schema": {
"type": "array",
"items": {
"type": "number"
}
}
},
{
"name": "gradient",
"description": "Computes the symbolic gradient of a scalar function.",
"input_schema": {
"type": "object",
"required": [
"f_str"
],
"properties": {
"f_str": {
"type": "string",
"description": "A string representing a scalar function (e.g., 'x**2 + y*z')."
}
}
},
"output_schema": {
"type": "string"
}
},
{
"name": "curl",
"description": "Computes the symbolic curl of a vector field, optionally evaluated at a point.",
"input_schema": {
"type": "object",
"required": [
"f_str"
],
"properties": {
"f_str": {
"type": "string",
"description": "A string representing the vector field in list format (e.g., '[x+y, x, 2*z]')."
},
"point": {
"type": "array",
"items": {
"type": "number"
},
"description": "A list of coordinates [x, y, z] to evaluate the curl numerically."
}
}
},
"output_schema": {
"type": "object",
"properties": {
"curl_sym": {
"type": "string"
},
"curl_val": {
"type": "array",
"items": {
"type": "number"
}
}
}
}
},
{
"name": "divergence",
"description": "Computes the symbolic divergence of a vector field, optionally evaluated at a point.",
"input_schema": {
"type": "object",
"required": [
"f_str"
],
"properties": {
"f_str": {
"type": "string",
"description": "A string representing the vector field in list format (e.g., '[x+y, x, 2*z]')."
},
"point": {
"type": "array",
"items": {
"type": "number"
},
"description": "A list of coordinates [x, y, z] to evaluate the divergence numerically."
}
}
},
"output_schema": {
"type": "object",
"properties": {
"divergence_sym": {
"type": "string"
},
"divergence_val": {
"type": "number"
}
}
}
},
{
"name": "laplacian",
"description": "Computes the Laplacian of a scalar or vector field symbolically.",
"input_schema": {
"type": "object",
"required": [
"f_str"
],
"properties": {
"f_str": {
"type": "string",
"description": "Scalar function as 'x**2 + y*z' or vector '[Fx, Fy, Fz]'."
},
"is_vector": {
"type": "boolean",
"description": "Set True to compute vector Laplacian."
}
}
},
"output_schema": {
"type": "string"
}
},
{
"name": "directional_deriv",
"description": "Computes symbolic directional derivative of scalar field along a vector direction.",
"input_schema": {
"type": "object",
"required": [
"f_str",
"u"
],
"properties": {
"u": {
"type": "array",
"items": {
"type": "number"
},
"description": "Direction vector [vx, vy, vz]."
},
"unit": {
"type": "boolean",
"description": "True if u should be normalized before calculating directional derivative."
},
"f_str": {
"type": "string",
"description": "Expression like 'x*y*z'."
}
}
},
"output_schema": {
"type": "string"
}
},
{
"name": "plot_vector_field",
"description": "Plots a 3D vector field from a string '[u(x,y,z), v(x,y,z), w(x,y,z)]'",
"input_schema": {
"type": "object",
"required": [
"f_str"
],
"properties": {
"n": {
"type": "integer",
"description": "grid resolution per axis"
},
"f_str": {
"type": "string",
"description": "string representation of 3D field, e.g. '[z, -y, x]'."
},
"bounds": {
"type": "array",
"items": {
"type": "number"
},
"description": "(xmin, xmax, ymin, ymax, zmin, zmax)"
}
}
},
"output_schema": {
"type": "object"
}
},
{
"name": "plot_function",
"description": "Plots a 2D or 3D mathematical function from a symbolic expression string.",
"input_schema": {
"type": "object",
"required": [
"expr_str"
],
"properties": {
"grid": {
"type": "integer",
"description": "resolution of the plot grid"
},
"xlim": {
"type": "array",
"items": {
"type": "integer"
},
"description": "(xmin, xmax) range for x-axis"
},
"ylim": {
"type": "array",
"items": {
"type": "integer"
},
"description": "(ymin, ymax) range for y-axis (used in 2D or 3D)"
},
"expr_str": {
"type": "string",
"description": "string representation of a function in x or x and y."
}
}
},
"output_schema": {
"type": "object"
}
}
],
"version": "0.1.0",
"categories": [],
"description": "Add your description here"
}Forks
Watchers
Contributors
Last Push: 9/2/2025
Open Issues: 0