Skip to main content
Glama

Physics MCP Server

by BlinkZer0
tool-units-hero.svg11.1 kB
<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 220" role="img" aria-label="Units & Dimensions banner"> <style> svg { font-family: 'Inter', 'Segoe UI', system-ui, sans-serif; } .title { font-size: 40px; font-weight: 700; letter-spacing: -0.02em; } .subtitle { font-size: 18px; font-weight: 500; opacity: 0.92; } .grid-lines { stroke-width: 1; stroke-dasharray: 2 10; } .wave-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 16 18; } .wave-line-secondary { fill: none; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 12 16; opacity: 0.6; } .math-curve { fill: none; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 18 24; } .math-marker { stroke-width: 3; stroke-linecap: round; opacity: 0.7; } .math-spark { fill: none; stroke-width: 3; stroke-linecap: round; } .matrix-cell { rx: 4; } .axes-line { stroke-width: 2; stroke-linecap: round; opacity: 0.6; } .axes-plot { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 14 16; } .plot-dot { r: 6; } .plot-dot-secondary { r: 4; opacity: 0.6; } .network-link { stroke-width: 2; stroke-linecap: round; stroke-dasharray: 10 14; opacity: 0.6; } .network-node { r: 7; } .document-page { rx: 16; } .document-page-secondary { rx: 16; opacity: 0.72; } .document-line { rx: 3; height: 6; opacity: 0.7; } .document-line.accent { opacity: 0.95; } .document-bullet { opacity: 0.75; } .pipeline-bar { height: 18; rx: 9; opacity: 0.35; } .pipeline-highlight { height: 18; rx: 9; opacity: 0.65; } .orbit-path { fill: none; stroke-width: 2; stroke-dasharray: 6 10; opacity: 0.5; } .orbit-core { r: 10; } .orbit-dot { r: 6; } .dialog-bubble, .dialog-bubble-secondary { rx: 22; } .dialog-tail, .dialog-tail-secondary { stroke-width: 0; } .dialog-dot { opacity: 0.8; } .dialog-line { height: 6; rx: 3; opacity: 0.7; } .dag-node { rx: 12; height: 50; } .dag-node.secondary { opacity: 0.7; } .dag-node.accent { opacity: 0.85; } .dag-connector { stroke-width: 3; stroke-linecap: round; stroke-dasharray: 6 12; opacity: 0.6; } .particle { opacity: 0.7; } .dial-ring { fill: none; stroke-width: 2; opacity: 0.6; stroke-dasharray: 4 8; } .dial-tick { stroke-width: 2; opacity: 0.35; } .dial-needle { stroke-width: 3; stroke-linecap: round; } .dial-center { r: 6; } .heatmap-cell { rx: 6; } .tensor-line { stroke-width: 1.5; opacity: 0.35; } .tensor-curve { fill: none; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 10 14; } .conversion-bar { height: 4; rx: 2; opacity: 0.4; } .conversion-arrow { opacity: 0.75; } .conversion-node { opacity: 0.8; } .conversion-node.secondary { opacity: 0.6; } .sparkline-track { fill: none; stroke-width: 1; opacity: 0.25; } .sparkline-path { fill: none; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 12 16; } .sparkline-dot { opacity: 0.9; } .icon-tile { rx: 18; opacity: 0.24; } .icon-tile.secondary { opacity: 0.26; } .icon-tile.tertiary { opacity: 0.22; } .icon-math { fill: none; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 8 12; } .icon-math-point { opacity: 0.8; } .icon-plot { fill: none; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 10 14; } .icon-plot-dot { opacity: 0.8; } .icon-network { stroke-width: 4; stroke-linecap: round; stroke-dasharray: 8 12; opacity: 0.6; } .icon-network-node { opacity: 0.85; } .animate-dash { stroke-dashoffset: 0; } .animate-pulse { transform-origin: center; } .animate-float { transform-origin: center; } .animate-orbit { transform-origin: center; } .animate-slide { transform-origin: center; } .animate-twinkle { transform-origin: center; } @media (prefers-reduced-motion: reduce) { svg * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; } } .title { fill: #f9fcff; } .subtitle { fill: #d6e6ff; } .grid-lines { stroke: #5a7395; } .wave-line { stroke: #34d399; } .wave-line-secondary { stroke: #facc15; } .math-curve { stroke: #34d399; } .math-marker { stroke: #facc15; } .math-spark { stroke: #38bdf8; } .matrix-cell { fill: #facc15; } .axes-line { stroke: #5a7395; } .axes-plot { stroke: #34d399; } .plot-dot { fill: #facc15; } .plot-dot-secondary { fill: #38bdf8; } .network-link { stroke: #facc15; } .network-node { fill: #34d399; } .document-page { fill: #34d39933; stroke: #34d39933; } .document-page-secondary { fill: #facc1533; } .document-line { fill: #d6e6ff; } .document-line.accent { fill: #facc15; } .document-bullet { fill: #34d399; } .pipeline-bar { fill: #34d39933; } .pipeline-highlight { fill: #facc1566; } .orbit-path { stroke: #facc15; } .orbit-core { fill: #38bdf8; } .orbit-dot { fill: #34d399; } .dialog-bubble { fill: #34d39930; } .dialog-bubble-secondary { fill: #facc1526; } .dialog-tail { fill: #34d39930; } .dialog-tail-secondary { fill: #facc1526; } .dialog-dot { fill: #34d399; } .dag-node { fill: #34d39924; } .dag-node.secondary { fill: #facc1524; } .dag-node.accent { fill: #38bdf833; } .dag-connector { stroke: #facc15; } .particle { fill: #38bdf8; } .dial-ring { stroke: #facc15; } .dial-tick { stroke: #d6e6ff; } .dial-needle { stroke: #34d399; } .dial-center { fill: #38bdf8; } .heatmap-cell { fill: #facc15; } .tensor-line { stroke: #d6e6ff; } .tensor-curve { stroke: #34d399; } .conversion-bar { fill: #d6e6ff; } .conversion-arrow { fill: #facc15; } .conversion-node { fill: #34d399; } .conversion-node.secondary { fill: #38bdf8; } .sparkline-track { stroke: #5a7395; } .sparkline-path { stroke: #facc15; } .sparkline-dot { fill: #38bdf8; } .icon-tile { fill: #34d39933; } .icon-tile.secondary { fill: #facc1533; } .icon-tile.tertiary { fill: #38bdf829; } .icon-math { stroke: #facc15; } .icon-math-point { fill: #38bdf8; } .icon-plot { stroke: #34d399; } .icon-plot-dot { fill: #38bdf8; } .icon-network { stroke: #facc15; } .icon-network-node { fill: #34d399; } .orbit-group { transform-origin: center; } svg.is-playing .animate-dash { animation: dash var(--duration, 7s) linear infinite; } svg.is-playing .animate-pulse { animation: pulse var(--duration, 6s) ease-in-out infinite; } svg.is-playing .animate-float { animation: float var(--duration, 8s) ease-in-out infinite; } svg.is-playing .animate-orbit { animation: orbit var(--duration, 10s) linear infinite; } svg.is-playing .animate-slide { animation: slide var(--duration, 7s) ease-in-out infinite alternate; } svg.is-playing .animate-twinkle { animation: twinkle var(--duration, 6s) ease-in-out infinite alternate; } @keyframes dash { to { stroke-dashoffset: -240; } } @keyframes pulse { 0%, 100% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.15); opacity: 1; } } @keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } } @keyframes orbit { to { transform: rotate(360deg); } } @keyframes slide { 0% { transform: translateX(0); opacity: 0.6; } 50% { opacity: 1; } 100% { transform: translateX(40px); opacity: 0.6; } } @keyframes twinkle { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.9; } } </style> <defs> <linearGradient id="tool-units-hero-bg" x1="0" y1="0" x2="1" y2="1"> <stop offset="0%" stop-color="#071022"/> <stop offset="100%" stop-color="#142640"/> </linearGradient> <filter id="tool-units-hero-glow"> <feGaussianBlur in="SourceGraphic" stdDeviation="3" result="blur"/> <feMerge> <feMergeNode in="blur"/> <feMergeNode in="SourceGraphic"/> </feMerge> </filter> </defs> <rect width="960" height="220" fill="url(#tool-units-hero-bg)" rx="24"/> <g transform="translate(60,92)"> <text class="title" x="0" y="0">Units & Dimensions</text> <text class="subtitle" x="2" y="34">Precise conversion & analysis</text> </g> <g class="grid-lines"> <path d="M360 40 H 900"/> <path d="M360 90 H 900"/> <path d="M360 140 H 900"/> <path d="M360 190 H 900"/> <path d="M420 20 V 210"/> <path d="M520 20 V 210"/> <path d="M640 20 V 210"/> <path d="M760 20 V 210"/> <path d="M880 20 V 210"/> </g> <g transform="translate(620,120)"> <rect class="conversion-bar" x="0" y="-2" width="200" height="4" rx="2"/> <polygon class="conversion-arrow animate-slide" style="--duration:6s" points="180,-12 200,0 180,12"/> <polygon class="conversion-arrow animate-slide" style="--duration:7s" points="20,12 0,0 20,-12"/> <circle class="conversion-node animate-pulse" style="--duration:5s" cx="60" cy="0" r="8"/> <circle class="conversion-node secondary animate-pulse" style="--duration:6s" cx="120" cy="0" r="8"/> </g> <g> <circle class="dial-ring" cx="820" cy="110" r="60"/> <line class="dial-tick" x1="870.00" y1="110.00" x2="880.00" y2="110.00"/> <line class="dial-tick" x1="868.30" y1="122.94" x2="877.96" y2="125.53"/> <line class="dial-tick" x1="863.30" y1="135.00" x2="871.96" y2="140.00"/> <line class="dial-tick" x1="855.36" y1="145.36" x2="862.43" y2="152.43"/> <line class="dial-tick" x1="845.00" y1="153.30" x2="850.00" y2="161.96"/> <line class="dial-tick" x1="832.94" y1="158.30" x2="835.53" y2="167.96"/> <line class="dial-tick" x1="820.00" y1="160.00" x2="820.00" y2="170.00"/> <line class="dial-tick" x1="807.06" y1="158.30" x2="804.47" y2="167.96"/> <line class="dial-tick" x1="795.00" y1="153.30" x2="790.00" y2="161.96"/> <line class="dial-tick" x1="784.64" y1="145.36" x2="777.57" y2="152.43"/> <line class="dial-tick" x1="776.70" y1="135.00" x2="768.04" y2="140.00"/> <line class="dial-tick" x1="771.70" y1="122.94" x2="762.04" y2="125.53"/> <line class="dial-tick" x1="770.00" y1="110.00" x2="760.00" y2="110.00"/> <line class="dial-tick" x1="771.70" y1="97.06" x2="762.04" y2="94.47"/> <line class="dial-tick" x1="776.70" y1="85.00" x2="768.04" y2="80.00"/> <line class="dial-tick" x1="784.64" y1="74.64" x2="777.57" y2="67.57"/> <line class="dial-tick" x1="795.00" y1="66.70" x2="790.00" y2="58.04"/> <line class="dial-tick" x1="807.06" y1="61.70" x2="804.47" y2="52.04"/> <line class="dial-tick" x1="820.00" y1="60.00" x2="820.00" y2="50.00"/> <line class="dial-tick" x1="832.94" y1="61.70" x2="835.53" y2="52.04"/> <line class="dial-tick" x1="845.00" y1="66.70" x2="850.00" y2="58.04"/> <line class="dial-tick" x1="855.36" y1="74.64" x2="862.43" y2="67.57"/> <line class="dial-tick" x1="863.30" y1="85.00" x2="871.96" y2="80.00"/> <line class="dial-tick" x1="868.30" y1="97.06" x2="877.96" y2="94.47"/> <line class="dial-needle animate-orbit" style="--duration:9s; --origin-x:820px; --origin-y:110px;" x1="820" y1="110" x2="870" y2="100"/> <circle class="dial-center" cx="820" cy="110" r="6"/> </g> <g transform="translate(620,120)"> <rect class="pipeline-bar animate-slide" style="--duration:6s" x="0" y="0" width="180" height="18" rx="9"/> <rect class="pipeline-bar animate-slide" style="--duration:7s" x="0" y="36" width="220" height="18" rx="9"/> <rect class="pipeline-bar animate-slide" style="--duration:8s" x="0" y="72" width="150" height="18" rx="9"/> <rect class="pipeline-highlight animate-slide" style="--duration:5s" x="0" y="0" width="70" height="18" rx="9"/> <rect class="pipeline-highlight animate-slide" style="--duration:6s" x="0" y="36" width="90" height="18" rx="9"/> <rect class="pipeline-highlight animate-slide" style="--duration:7s" x="0" y="72" width="60" height="18" rx="9"/> </g> </svg>

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BlinkZer0/Phys-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server