{"id":579449,"recorded_at":"2026-10-27T23:23:46.418871Z","observed_at":"2026-10-27T23:23:46.418789Z","subject_kind":"endpoint","subject":"fb3e18d5-66f9-43d3-8375-970259f743cb","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":17,"tools":[{"description":"Safely evaluate mathematical expressions with support for basic operations and math functions.\n\nSupported operations: +, -, *, /, **, ()\nSupported functions: sin, cos, tan, log, sqrt, abs, pow","inputSchema":{"additionalProperties":false,"properties":{"expression":{"description":"Mathematical expression to evaluate. Supports +, -, *, /, **, and math functions (sin, cos, sqrt, log, etc.). Example: '2 * sin(pi/4) + sqrt(16)'","maxLength":500,"type":"string"}},"required":["expression"],"type":"object"},"name":"calc_expression"},{"description":"Calculate compound interest for investments.\n\nFormula: A = P(1 + r/n)^(nt)\nWhere:\n- P = principal amount\n- r = annual interest rate (as decimal)\n- n = number of times interest compounds per year\n- t = time in years","inputSchema":{"additionalProperties":false,"properties":{"compounds_per_year":{"default":12,"description":"Compounding frequency per year (must be > 0): 12=monthly, 365=daily","exclusiveMinimum":0,"type":"integer"},"principal":{"description":"Initial investment amount in dollars (must be > 0), e.g. 1000.0","exclusiveMinimum":0,"type":"number"},"rate":{"description":"Annual interest rate as decimal 0.0-1.0 (e.g. 0.05 = 5%). If entering a percentage, divide by 100 first.","maximum":1.0,"minimum":0,"type":"number"},"time":{"description":"Investment time in years (must be > 0), e.g. 10.0","exclusiveMinimum":0,"type":"number"}},"required":["principal","rate","time"],"type":"object"},"name":"calc_interest"},{"description":"Perform statistical calculations on a list of numbers.\n\nAvailable operations: mean, median, mode, std_dev, variance","inputSchema":{"additionalProperties":false,"properties":{"numbers":{"description":"List of numbers to compute descriptive statistics on. Example: [1.0, 2.5, 3.0, 4.5, 5.0]","items":{"type":"number"},"maxItems":10000,"type":"array"},"operation":{"description":"Statistical operation to perform. Allowed values: mean, median, mode, std_dev, variance","examples":["mean","median","mode","std_dev","variance"],"type":"string"}},"required":["numbers","operation"],"type":"object"},"name":"calc_statistics"},{"description":"Convert between different units of measurement.\n\nSupported unit types:\n- length: mm, cm, m, km, in, ft, yd, mi\n- weight: g, kg, oz, lb\n- temperature: c, f, k (Celsius, Fahrenheit, Kelvin)","inputSchema":{"additionalProperties":false,"properties":{"from_unit":{"description":"Source unit abbreviation. Valid units depend on unit_type: length (mm, cm, m, km, in, ft, yd, mi), weight (g, kg, oz, lb), temperature (c, f, k)","examples":["m","kg","c"],"type":"string"},"to_unit":{"description":"Target unit abbreviation. Valid units depend on unit_type: length (mm, cm, m, km, in, ft, yd, mi), weight (g, kg, oz, lb), temperature (c, f, k)","examples":["ft","lb","f"],"type":"string"},"unit_type":{"description":"Unit category: length, weight, or temperature","examples":["length","weight","temperature"],"type":"string"},"value":{"description":"Numeric value to convert, e.g., 100.0","type":"number"}},"required":["value","from_unit","to_unit","unit_type"],"type":"object"},"name":"calc_units"},{"description":"Calculate the determinant of a square matrix.","inputSchema":{"additionalProperties":false,"properties":{"matrix":{"description":"2D list of numbers representing a square matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix"],"type":"object"},"name":"matrix_determinant"},{"description":"Calculate the eigenvalues of a square matrix.","inputSchema":{"additionalProperties":false,"properties":{"matrix":{"description":"2D list of numbers representing a square matrix. Each inner list is a row. Example: [[4, 2], [1, 3]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix"],"type":"object"},"name":"matrix_eigenvalues"},{"description":"Calculate the inverse of a square matrix.","inputSchema":{"additionalProperties":false,"properties":{"matrix":{"description":"2D list of numbers representing a square matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix"],"type":"object"},"name":"matrix_inverse"},{"description":"Multiply two matrices (A × B).","inputSchema":{"additionalProperties":false,"properties":{"matrix_a":{"description":"2D list of numbers representing the first matrix. Each inner list is a row. Example: [[1, 2], [3, 4]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"},"matrix_b":{"description":"2D list of numbers representing the second matrix. Each inner list is a row. Example: [[5, 6], [7, 8]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix_a","matrix_b"],"type":"object"},"name":"matrix_multiply"},{"description":"Transpose a matrix (swap rows and columns).","inputSchema":{"additionalProperties":false,"properties":{"matrix":{"description":"2D list of numbers representing the matrix. Each inner list is a row. Example: [[1, 2, 3], [4, 5, 6]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":10000,"type":"array"}},"required":["matrix"],"type":"object"},"name":"matrix_transpose"},{"description":"Create a box plot for comparing distributions (requires matplotlib).","inputSchema":{"additionalProperties":false,"properties":{"color":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Box color (name or hex code, e.g., 'blue', '#2E86AB')"},"data_groups":{"description":"List of data groups to compare, e.g., [[1, 2, 3], [4, 5, 6]]","items":{"items":{"type":"number"},"type":"array"},"maxItems":100,"type":"array"},"group_labels":{"anyOf":[{"items":{"type":"string"},"maxItems":100,"type":"array"},{"type":"null"}],"default":null,"description":"Labels for each group, e.g., ['Group A', 'Group B']"},"title":{"default":"Box Plot","description":"Chart title string, e.g., 'Distribution Comparison'","maxLength":100,"type":"string"},"y_label":{"default":"Values","description":"Y-axis label, e.g., 'Values'","maxLength":100,"type":"string"}},"required":["data_groups"],"type":"object"},"name":"plot_box_plot"},{"description":"Generate and plot synthetic financial price data (requires matplotlib).\n\nCreates realistic price movement patterns for educational purposes.\nDoes not use real market data.","inputSchema":{"additionalProperties":false,"properties":{"color":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Line color (name or hex code, e.g., 'blue', '#2E86AB')"},"days":{"default":30,"description":"Number of days to generate, e.g., 30","maximum":1000,"minimum":2,"type":"integer"},"start_price":{"default":100.0,"description":"Starting price value, e.g., 100.0","type":"number"},"trend":{"default":"bullish","description":"Market trend direction","examples":["bullish","bearish","volatile"],"type":"string"}},"type":"object"},"name":"plot_financial_line"},{"description":"Generate mathematical function plots (requires matplotlib).","inputSchema":{"additionalProperties":false,"properties":{"expression":{"description":"Mathematical expression to plot, e.g., \"x**2\" or \"sin(x)\". Must be <= MAX_EXPRESSION_LENGTH characters. Example: \"x**2\"","maxLength":500,"type":"string"},"num_points":{"default":100,"description":"Number of sample points to plot along x_range, e.g., 100","maximum":10000,"minimum":2,"type":"integer"},"x_range":{"description":"X-axis range as (min, max), e.g., (-5.0, 5.0)","maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}],"type":"array"}},"required":["expression","x_range"],"type":"object"},"name":"plot_function"},{"description":"Create statistical histograms (requires matplotlib).","inputSchema":{"additionalProperties":false,"properties":{"bins":{"default":20,"description":"Number of histogram bins, e.g., 20","type":"integer"},"data":{"description":"List of numeric values to bin, e.g., [1.0, 2.0, 2.5, 3.0]","items":{"type":"number"},"maxItems":10000,"type":"array"},"title":{"default":"Data Distribution","description":"Chart title string, e.g., 'Data Distribution'","maxLength":100,"type":"string"}},"required":["data"],"type":"object"},"name":"plot_histogram"},{"description":"Create a line chart from data points (requires matplotlib).","inputSchema":{"additionalProperties":false,"properties":{"color":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Line color (name or hex code, e.g., 'blue', '#2E86AB')"},"show_grid":{"default":true,"description":"Whether to display grid lines","type":"boolean"},"title":{"default":"Line Chart","description":"Chart title string, e.g., 'Squares'","maxLength":100,"type":"string"},"x_data":{"description":"X-axis data points, e.g., [1, 2, 3, 4]","items":{"type":"number"},"maxItems":10000,"type":"array"},"x_label":{"default":"X","description":"X-axis label, e.g., 'Time'","maxLength":100,"type":"string"},"y_data":{"description":"Y-axis data points, e.g., [1, 4, 9, 16]","items":{"type":"number"},"maxItems":10000,"type":"array"},"y_label":{"default":"Y","description":"Y-axis label, e.g., 'Distance'","maxLength":100,"type":"string"}},"required":["x_data","y_data"],"type":"object"},"name":"plot_line_chart"},{"description":"Create a scatter plot from data points (requires matplotlib).","inputSchema":{"additionalProperties":false,"properties":{"color":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Point color (name or hex code, e.g., 'blue', '#2E86AB')"},"point_size":{"default":50,"description":"Scatter point size in points^2, e.g., 50","type":"integer"},"title":{"default":"Scatter Plot","description":"Chart title string, e.g., 'Correlation Study'","maxLength":100,"type":"string"},"x_data":{"description":"X-axis data points, e.g., [1, 2, 3, 4]","items":{"type":"number"},"maxItems":10000,"type":"array"},"x_label":{"default":"X","description":"X-axis label, e.g., 'Variable X'","maxLength":100,"type":"string"},"y_data":{"description":"Y-axis data points, e.g., [1, 4, 9, 16]","items":{"type":"number"},"maxItems":10000,"type":"array"},"y_label":{"default":"Y","description":"Y-axis label, e.g., 'Variable Y'","maxLength":100,"type":"string"}},"required":["x_data","y_data"],"type":"object"},"name":"plot_scatter"},{"description":"Load previously saved calculation result from workspace.","inputSchema":{"additionalProperties":false,"properties":{"name":{"description":"Name of the variable to load from workspace, e.g., 'circle_area'","type":"string"}},"required":["name"],"type":"object"},"name":"workspace_load"},{"description":"Save calculation to persistent workspace (survives restarts).","inputSchema":{"additionalProperties":false,"properties":{"expression":{"description":"The mathematical expression that was evaluated. Example: 'pi * r**2'","maxLength":500,"type":"string"},"name":{"description":"Variable name for the saved calculation. Used to retrieve it later. Example: 'circle_area'","maxLength":50,"type":"string"},"result":{"description":"Numeric result of evaluating the expression, e.g., 78.54","type":"number"}},"required":["name","expression","result"],"type":"object"},"name":"workspace_save"}]},"body_sha256":"0be95f5742e2a0f8d0a20c413c76b5b3a73664fa67cc82d3bf50df460754516b","prev_id":null,"leaf":"0x8d7fdf0921990e2abc9cd4b2850117572f319475a4c838498e3dfd9138d96b99","leaf_text":"{\"body\":\"0be95f5742e2a0f8d0a20c413c76b5b3a73664fa67cc82d3bf50df460754516b\",\"id\":579449,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793143426418789,\"prev\":null,\"subject\":\"fb3e18d5-66f9-43d3-8375-970259f743cb\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-27","leaves":273461,"root":"0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795","chained":"0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4","anchor_chain":"eip155:5042002","anchor_tx":"0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4","anchor_block":69414147},"proof":["0x8d7fdf69a0c15e0a3ce67da8a38898cfb011b0eac34a503110e2c4953760dabc","0xc0d20a35ab8326235999e47f7e60891155af81fc2bac71b8ed7cf4dddd072c2d","0xc5ac2d74fbb4a76b525bd160d2d7c6235fa26916f682892e895e155183c88368","0x872c1c95fbae3d0a1d5b25c4b58a175393bacf2b7d2274c07f89faed370c0adf","0x73e78f8a8d8a5927e1cc12cd3fc474b57299417ceef54494bb7588694b93b54c","0x8a53cdef41077ddc53e1f846e382d9a482a678b9ac76a52504442966b3e93c0c","0x7d8b208d8ccb2e2574b47f270616842cffbde2632bd9505f1427fff2af8d3f47","0x1b3731bafd942710306af52842dec864f610640b7a664a730c584bb72b9722a5","0x734ccdcc831d3211f887615c64bae8cc775998b745d41b3b1c6e9dbd92816198","0x2f7f7aad45aa10cfc35961f0b32e2d0c82d403432cac88a93d7ed4522d2607e0","0x9db4db43425eb15434c6ecabdea3edcc63d5347d28ff18fda137c7d140c12b36","0xe0e69ccf3eae9f1603c5f7e4a938a5ebe41708a9b4f6cb15a530b2e2aa69d8a0","0xea3d566bf95ca7a3a7f6de9c4f77180bd8c5ffd160486a27d870e8a2fb6d0b9e","0x06e3b43165f5b3c31d850bc32f20b2e25b844564c4e042c141b9748c26a5a600","0xb4f7223140c8a36cb87a63d77cf617086d9968dc4658f03e102571ebe06e9ed6","0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d","0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66","0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197","0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699"]}