LabscoMCP early access ↗
Aman-Amith-ShastryMCP SERVER

Scientific Computation MCP

Keep matrices and vectors in a named store, then run the algebra on them by name — decompositions, eigenvalues, gradients, curl, and plots come back without you re-typing the numbers.

by Aman-Amith-Shastry ↗Physical Sciences & Scientific ComputingCommunity

LABSCO SUMMARY

Tensors live between calls, so a long chain of steps stays readable.

Most numeric helpers make you resend the whole matrix on every call, which is exactly where multi-step work goes wrong. Here a matrix is named once and every later step points at that name, so a decomposition can feed a change of basis with nothing re-transcribed. The price of that convenience is that the store is process memory: one instance only, and if a host puts the process to sleep the tensors go with it.

What it is

An MCP server for matrix and vector work that holds tensors in a per-session store between calls. You create a tensor once under a name; every later operation refers to that name rather than re-sending the numbers. It covers matrix arithmetic and decompositions, vector calculus on written-out expressions, and PNG plots.

What you get

  • Named tensors created, displayed and removed from the store — create_tensor, view_tensor, delete_tensor
  • Matrix arithmetic and reshaping by name, with compatibility checked for you — add_matrices, subtract_matrices, multiply_matrices, scale_matrix, transpose
  • The numbers that characterise a matrix — determinant, rank, matrix_inverse
  • Decompositions and bases, including an orthonormal basis for the image — compute_eigen, qr_decompose, svd_decompose, find_orthonormal_basis, change_basis
  • Vector operations between two stored vectors — vector_project, vector_dot_product, vector_cross_product
  • Vector calculus from an expression written as text, such as x^2 + 2xyz + zy^3 — gradient, curl, divergence, laplacian, directional_deriv
  • A rendered picture of a function or a field, returned as an image — plot_function, plot_vector_field

Requirements

No account and no key. The server speaks streamable HTTP. Adding it from Smithery needs the Smithery CLI on Node 20+ and the lowercase namespace: smithery mcp add @aman-amith-shastry/scientific_computation_mcp --client claude. Mixed case resolves to an empty record with no tools rather than failing, so a capitalised name looks like a server with no capabilities. To run it locally: uv sync, then uv run src/main.py — the MCP endpoint sits at /mcp and a liveness probe at /health on port 8081, with PORT, HOST, MCP_PATH, ALLOWED_ORIGINS and LOG_LEVEL available as overrides. The pyproject name is numpy-mcp (0.2.0).

Setup effort

One command — smithery mcp add @aman-amith-shastry/scientific_computation_mcp --client claude