Laplace's Hoard MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LAPLACE_URL | Yes | The URL of the running Laplace's Hoard app, e.g. http://127.0.0.1:8812 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| calcA | Exact arithmetic. Never do arithmetic in your head: call this, even for "simple" sums. Write Python-like syntax: + - * / // % ** (or ^), parentheses, comparisons.
Functions: sqrt cbrt root(x, n) exp ln log(x, base) log10 log2, trig, floor
ceil round(x, n) abs, min max sum mean median (numbers or one list),
factorial binomial gcd lcm mod, isprime nextprime factorint (alone), and
percentages: pct(15, 2347) = 15% of 2347, pct_change(old, new) = % change,
ratio(a, b). Constants: pi e tau inf. Numbers are exact: 0.1 + 0.2 = 3/10.
Examples: "pct(21, 1250)", "(1.05^10 - 1) * 100", "mean([3, 5, 8])".
Returns {id, cite, exact, decimal (text, Keywords: calculate, compute, how much is, percentage, percent of, discount, VAT, interest, average, square root, factorial, is prime, calcular, cuánto es, cuánto son, porcentaje, tanto por ciento, descuento, IVA, interés, media, raíz cuadrada, factorial, es primo. |
| mathA | Symbolic math with SymPy: solve equations, derivatives, integrals, limits, series, matrices.
Keywords: solve for x, equation, derivative, integral, differentiate, simplify, factor, limit, series, matrix determinant, inverse matrix, eigenvalues, resolver, ecuación, despejar, derivada, integral, simplificar, factorizar, límite, serie, matriz, determinante, autovalores. |
| units_convertA | Convert a physical quantity to another unit, e.g. quantity="3.5 km/h", to="m/s". Handles compound inputs ("5 ft 11 in" to "cm"), temperatures with their
offsets ("100 degF" to "degC" is 37.78, not a plain scale), and derived
units (kWh, psi, mph, g/cm**3). Unit names are English/SI symbols (m,
km, mi, ft, in, kg, lb, g, L, gal, degC, degF, K, s, min, h, km/h, mph,
J, kWh, W, Pa, bar, psi) or their common Spanish names (metros,
kilómetros, millas, pies, pulgadas, libras, kilogramos, litros, horas,
minutos...). A decimal comma with no dot in the input ("3,5 km") is read
as 3.5, not 35. No currencies (rates need the network). Returns {id,
cite, to_magnitude, to_unit, formatted} rounded to 12 significant
digits. Cite as its Keywords: convert, how many, in meters, in kilograms, miles to km, pounds to kilos, temperature, fahrenheit, celsius, convertir, cuántos, pasar a, en metros, en kilos, millas a kilómetros, libras a kilos, temperatura, grados. |
| statsA | Descriptive statistics and hypothesis tests (SciPy), with a neutral one-line interpretation.
Keywords: statistics, t-test, is it significant, p-value, correlation, regression, confidence interval, average, standard deviation, median, estadística, prueba t, es significativo, valor p, correlación, regresión, intervalo de confianza, media, desviación típica, mediana. |
| date_calcA | Date arithmetic: days between dates, adding time, business days, weekdays, ages, time zones.
Keywords: how many days between, days until, business days, working days, add days, deadline, time zone, what day of the week, how old, cuántos días entre, cuántos días faltan, días laborables, días hábiles, sumar días, plazo, zona horaria, qué día de la semana, qué edad tiene. |
| data_listA | List the registered datasets: name, kind, row_count, column names. Call this first when the user mentions a table or file and you do not
know its dataset name. Query a dataset by its Keywords: what data do you have, list datasets, tables, files, spreadsheets, qué datos hay, qué tablas hay, lista de datasets, archivos, hojas de cálculo. |
| data_registerA | Register a local file or folder so it can be queried with SQL: CSV/TSV, Parquet, JSON/NDJSON, Excel, SQLite.
Keywords: load this file, open this spreadsheet, register dataset, import CSV, read Excel, cargar este archivo, abrir esta hoja de cálculo, registrar datos, importar CSV, leer Excel. |
| data_describeA | Schema, row_count, per-column profile (nulls %, distinct, min/max/mean/sd, top values) and 5 sample rows. Before answering anything about a table, call this, then data_query:
never guess column names, types or row counts. Keywords: describe this dataset, what columns, schema, how many rows, column types, summary of the table, describe este dataset, qué columnas, esquema, cuántas filas, tipos de columna, resumen de la tabla. |
| data_queryA | Run one read-only SQL query (DuckDB dialect) over the registered datasets. Allowed: SELECT / WITH / DESCRIBE / SUMMARIZE / EXPLAIN / PIVOT, one
statement; anything that writes or reads files directly is rejected.
Refer to datasets by name: SELECT region, SUM(amount) AS total FROM sales
GROUP BY region ORDER BY total DESC. Let SQL do the counting and
summing - do not add up returned rows yourself.
Returns {id, cite, columns, rows (at most Keywords: query the data, SQL, filter rows, group by, total of, sum of, average of, count, top 10, consultar los datos, filtrar, agrupar por, total de, suma de, media de, contar, los 10 primeros. |
| data_chartA | Draw a chart from a read-only SQL query and save it; only returns the image if you ask. kind: bar, line, area, scatter, histogram (x only), pie (x = category, y = value), heatmap (x and y). x, y and color are column names of the query result, so aggregate in SQL first, e.g. sql="SELECT region, SUM(amount) AS total FROM sales GROUP BY region", kind="bar", x="region", y="total". bar/line/area without y count rows. Uses at most 5000 rows. The chart is always saved and logged with its own id, visible in the
app's Work log (its detail view shows the image). Keywords: chart, plot, graph, bar chart, line chart, histogram, pie chart, visualize, gráfico, gráfica, gráfico de barras, gráfico de líneas, histograma, gráfico circular, visualizar. |
| work_logA | Recent computations from the work log (yours and the human's), newest first, each with its id. Use it to reuse a number computed earlier instead of recomputing or remembering it, or to look one up by id: query="L-000042" returns that entry in full. engine filters by calc|math|units|stats|dates|data; query searches operation and input text. Items are short summaries (limit default 10, max 50; has_more tells you there are older ones). Keywords: what did I calculate, previous result, earlier computation, history, look up L-, qué calculé, resultado anterior, cálculo previo, historial. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
The tools map cleanly to distinct domains—arithmetic, symbolic math, units, stats, dates, data registration/query/charting, and history—so confusion is rare. The main overlap is between calc and stats, since calc includes mean/median and stats also covers descriptive statistics, so a query about 'average' could route to either. The data_* tools are clearly separated by lifecycle stage.
Most multi-word tools use a consistent snake_case pattern (units_convert, date_calc, data_list, data_query, data_chart, work_log). The three single-word names (calc, math, stats) are predictable domain shortcuts and don't break readability, but they deviate from a strict verb_noun convention. Overall the naming is consistent enough that an agent can infer function from the name.
11 tools is well-scoped for a general-purpose computation and data analysis server. Each tool covers a meaningful capability without redundant extras, such as having separate tools for every statistical test or SQL variant. The count feels intentional, and each tool earns its place.
The surface covers the full cycle for computation: exact/symbolic math, units, dates, statistics, and data ingestion → description → querying → visualization → history lookup. Minor gaps exist—there is no unregister/drop operation for datasets and no currency conversion—but these are explicitly out of scope or easily worked around. No common workflow dead-ends appear for the stated domain.