Skip to main content
Glama

Physics MCP Server

by BlinkZer0
tool-report-hero.svg9.45 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="Report Builder 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: #f9fbff; } .subtitle { fill: #d2e3ff; } .grid-lines { stroke: #637499; } .wave-line { stroke: #38bdf8; } .wave-line-secondary { stroke: #facc15; } .math-curve { stroke: #38bdf8; } .math-marker { stroke: #facc15; } .math-spark { stroke: #f472b6; } .matrix-cell { fill: #facc15; } .axes-line { stroke: #637499; } .axes-plot { stroke: #38bdf8; } .plot-dot { fill: #facc15; } .plot-dot-secondary { fill: #f472b6; } .network-link { stroke: #facc15; } .network-node { fill: #38bdf8; } .document-page { fill: #38bdf833; stroke: #38bdf833; } .document-page-secondary { fill: #facc1533; } .document-line { fill: #d2e3ff; } .document-line.accent { fill: #facc15; } .document-bullet { fill: #38bdf8; } .pipeline-bar { fill: #38bdf833; } .pipeline-highlight { fill: #facc1566; } .orbit-path { stroke: #facc15; } .orbit-core { fill: #f472b6; } .orbit-dot { fill: #38bdf8; } .dialog-bubble { fill: #38bdf830; } .dialog-bubble-secondary { fill: #facc1526; } .dialog-tail { fill: #38bdf830; } .dialog-tail-secondary { fill: #facc1526; } .dialog-dot { fill: #38bdf8; } .dag-node { fill: #38bdf824; } .dag-node.secondary { fill: #facc1524; } .dag-node.accent { fill: #f472b633; } .dag-connector { stroke: #facc15; } .particle { fill: #f472b6; } .dial-ring { stroke: #facc15; } .dial-tick { stroke: #d2e3ff; } .dial-needle { stroke: #38bdf8; } .dial-center { fill: #f472b6; } .heatmap-cell { fill: #facc15; } .tensor-line { stroke: #d2e3ff; } .tensor-curve { stroke: #38bdf8; } .conversion-bar { fill: #d2e3ff; } .conversion-arrow { fill: #facc15; } .conversion-node { fill: #38bdf8; } .conversion-node.secondary { fill: #f472b6; } .sparkline-track { stroke: #637499; } .sparkline-path { stroke: #facc15; } .sparkline-dot { fill: #f472b6; } .icon-tile { fill: #38bdf833; } .icon-tile.secondary { fill: #facc1533; } .icon-tile.tertiary { fill: #f472b629; } .icon-math { stroke: #facc15; } .icon-math-point { fill: #f472b6; } .icon-plot { stroke: #38bdf8; } .icon-plot-dot { fill: #f472b6; } .icon-network { stroke: #facc15; } .icon-network-node { fill: #38bdf8; } .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-report-hero-bg" x1="0" y1="0" x2="1" y2="1"> <stop offset="0%" stop-color="#070f20"/> <stop offset="100%" stop-color="#182444"/> </linearGradient> <filter id="tool-report-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-report-hero-bg)" rx="24"/> <g transform="translate(60,92)"> <text class="title" x="0" y="0">Report Builder</text> <text class="subtitle" x="2" y="34">Narrate findings with clarity</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(610,70)"> <rect class="document-page" x="0" y="0" width="140" height="96" rx="16"/> <rect class="document-page-secondary" x="18" y="18" width="140" height="96" rx="16"/> <rect class="document-line" x="36" y="32" width="88" height="6" rx="3"/> <rect class="document-line" x="36" y="48" width="108" height="6" rx="3"/> <rect class="document-line accent" x="36" y="64" width="76" height="6" rx="3"/> <rect class="document-line" x="36" y="80" width="96" height="6" rx="3"/> <circle class="document-bullet animate-pulse" style="--duration:6s" cx="20" cy="34" r="4"/> <circle class="document-bullet animate-pulse" style="--duration:7s" cx="20" cy="50" r="4"/> <circle class="document-bullet accent animate-pulse" style="--duration:5s" cx="20" cy="66" r="4"/> <circle class="document-bullet animate-pulse" style="--duration:8s" cx="20" cy="82" r="4"/> </g> <g transform="translate(600,170)"> <path class="sparkline-track" d="M0 18 H220"/> <path class="sparkline-path animate-dash" style="--duration:7s" d="M0 20 L40 12 L80 26 L120 8 L160 14 L200 4"/> <circle class="sparkline-dot animate-float" style="--duration:4.5s" cx="200" cy="4" r="5"/> </g> <g transform="translate(360,150)"> <path class="wave-line animate-dash" style="--duration:8s" d="M0 25 C 50 -5, 110 55, 170 25 S 290 55, 350 25 S 470 -5, 530 25 S 650 55, 710 25 S 830 -5, 890 25"/> <path class="wave-line-secondary animate-dash" style="--duration:10s" d="M0 45 C 60 15, 120 65, 180 45 S 300 65, 360 45 S 480 15, 540 45 S 660 65, 720 45 S 840 15, 900 45"/> </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