add: codex plugin for TypeUI

This commit is contained in:
Zoltán Szőgyényi
2026-05-31 11:54:47 +03:00
parent 7759bf782b
commit 50547ebe3b
6 changed files with 172 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
{
"name": "bergside",
"interface": {
"displayName": "Bergside"
},
"plugins": [
{
"name": "typeui",
"source": {
"source": "git-subdir",
"url": "https://github.com/bergside/typeui",
"path": "./plugins/codex/typeui",
"ref": "main"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Developer Tools"
}
]
}
+9
View File
@@ -0,0 +1,9 @@
# TypeUI tool plugins
Tool-specific TypeUI plugins live in provider namespaces:
- `codex/typeui` for the Codex plugin and Codex marketplace package.
- `claude/typeui` for a future Claude plugin.
- `cursor/typeui` for a future Cursor plugin.
The Codex marketplace entry can still expose the plugin as `typeui`; the namespaced folder only keeps repository ownership clear as more tool plugins are added.
@@ -0,0 +1,43 @@
{
"name": "typeui",
"version": "1.0.0",
"description": "Connect Codex to TypeUI MCP for curated design systems, UI prompts, and layout variations.",
"author": {
"name": "Bergside LLC",
"url": "https://www.typeui.sh"
},
"homepage": "https://www.typeui.sh",
"repository": "https://github.com/bergside/typeui",
"keywords": [
"typeui",
"codex",
"mcp",
"ui",
"design-systems",
"prompts"
],
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "TypeUI",
"shortDescription": "Better UI from Codex with TypeUI MCP.",
"longDescription": "Connect Codex to TypeUI MCP and give it access to curated design systems, UI prompts, and layout variations for cleaner, more consistent interfaces.",
"developerName": "Bergside LLC",
"category": "Developer Tools",
"capabilities": [
"MCP",
"Design",
"Frontend"
],
"websiteURL": "https://www.typeui.sh",
"privacyPolicyURL": "https://www.typeui.sh/privacy",
"termsOfServiceURL": "https://www.typeui.sh/terms",
"defaultPrompt": [
"Build me a landing page.",
"Show me three more pricing variations.",
"I want a dashboard with charts."
],
"brandColor": "#111111",
"composerIcon": "./assets/logo.svg",
"logo": "./assets/logo.svg"
}
}
+7
View File
@@ -0,0 +1,7 @@
{
"mcpServers": {
"typeui": {
"url": "https://mcp.typeui.sh/mcp"
}
}
}
+28
View File
@@ -0,0 +1,28 @@
# TypeUI Codex Plugin
TypeUI connects Codex to the TypeUI MCP server so it can use curated design systems, UI prompts, and layout variations while building interfaces.
## Install
```bash
codex plugin marketplace add bergside/typeui --sparse .agents/plugins --ref main
codex plugin add typeui@bergside
```
After installation, Codex will ask you to authenticate TypeUI when needed.
## MCP server
This plugin registers the TypeUI Streamable HTTP MCP server:
```text
https://mcp.typeui.sh/mcp
```
## Links
- Website: https://www.typeui.sh
- Documentation: https://www.typeui.sh/docs
- Codex setup guide: https://www.typeui.sh/docs/guides/codex
- Privacy policy: https://www.typeui.sh/privacy
- Terms of service: https://www.typeui.sh/terms
+63
View File
@@ -0,0 +1,63 @@
<svg width="844" height="844" viewBox="0 0 844 844" fill="none" xmlns="http://www.w3.org/2000/svg">
<g filter="url(#filter0_d_4316_586)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M834 256.627C834 246.845 834.004 237.062 833.944 227.279C833.895 219.038 833.8 210.799 833.576 202.562C833.092 184.609 832.033 166.502 828.84 148.749C825.602 130.741 820.314 113.98 811.981 97.6166C803.789 81.5337 793.088 66.8168 780.32 54.0578C767.555 41.2989 752.834 30.6049 736.746 22.4179C720.366 14.0829 703.587 8.79697 685.558 5.55998C667.803 2.37199 649.691 1.315 631.738 0.829997C623.495 0.606998 615.253 0.512998 607.008 0.461998C597.22 0.401999 587.432 0.406999 577.644 0.406999L463.997 0H378.997L267.361 0.406999C257.554 0.406999 247.747 0.401999 237.94 0.461998C229.678 0.512998 221.42 0.606998 213.161 0.829997C195.167 1.315 177.014 2.37299 159.217 5.56498C141.164 8.80097 124.36 14.0849 107.958 22.4139C91.8354 30.6019 77.0825 41.2969 64.2906 54.0578C51.5007 66.8158 40.7798 81.5297 32.5728 97.6096C24.2169 113.981 18.9189 130.752 15.673 148.77C12.477 166.516 11.418 184.617 10.931 202.562C10.709 210.8 10.613 219.039 10.563 227.279C10.503 237.063 10 249.216 10 258.999L10.003 369.089L10 454.998L10.508 567.427C10.508 577.223 10.504 587.019 10.563 596.815C10.613 605.067 10.709 613.317 10.932 621.566C11.418 639.542 12.479 657.675 15.678 675.452C18.9229 693.484 24.2199 710.269 32.5688 726.653C40.7768 742.759 51.4997 757.495 64.2906 770.272C77.0815 783.049 91.8304 793.757 107.95 801.956C124.362 810.302 141.174 815.595 159.238 818.836C177.027 822.029 195.174 823.088 213.161 823.573C221.42 823.796 229.679 823.891 237.941 823.941C247.748 824.001 257.554 823.997 267.361 823.997L380.006 824H465.217L577.644 823.996C587.432 823.996 597.22 824.001 607.008 823.941C615.253 823.891 623.495 823.796 631.738 823.573C649.698 823.087 667.816 822.027 685.579 818.832C703.597 815.591 720.368 810.3 736.739 801.959C752.831 793.761 767.554 783.051 780.32 770.272C793.086 757.497 803.786 742.763 811.978 726.66C820.316 710.268 825.604 693.475 828.844 675.431C832.034 657.661 833.092 639.535 833.577 621.566C833.8 613.316 833.895 605.066 833.944 596.815C834.005 587.019 834 577.223 834 567.427C834 567.427 833.994 456.983 833.994 454.998V368.999C833.994 367.533 834 256.627 834 256.627Z" fill="url(#paint0_linear_4316_586)"/>
</g>
<g filter="url(#filter1_i_4316_586)">
<mask id="mask0_4316_586" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="10" y="0" width="824" height="824">
<path fill-rule="evenodd" clip-rule="evenodd" d="M834 256.627C834 246.845 834.004 237.062 833.944 227.279C833.895 219.038 833.8 210.799 833.576 202.562C833.092 184.609 832.033 166.502 828.84 148.749C825.602 130.741 820.314 113.98 811.981 97.6166C803.789 81.5337 793.088 66.8168 780.32 54.0578C767.555 41.2989 752.834 30.6049 736.746 22.4179C720.366 14.0829 703.587 8.79697 685.558 5.55998C667.803 2.37199 649.691 1.315 631.738 0.829997C623.495 0.606998 615.253 0.512998 607.008 0.461998C597.22 0.401999 587.432 0.406999 577.644 0.406999L463.997 0H378.997L267.361 0.406999C257.554 0.406999 247.747 0.401999 237.94 0.461998C229.678 0.512998 221.42 0.606998 213.161 0.829997C195.167 1.315 177.014 2.37299 159.217 5.56498C141.164 8.80097 124.36 14.0849 107.958 22.4139C91.8354 30.6019 77.0825 41.2969 64.2906 54.0578C51.5007 66.8158 40.7798 81.5297 32.5728 97.6096C24.2169 113.981 18.9189 130.752 15.673 148.77C12.477 166.516 11.418 184.617 10.931 202.562C10.709 210.8 10.613 219.039 10.563 227.279C10.503 237.063 10 249.216 10 258.999L10.003 369.089L10 454.998L10.508 567.427C10.508 577.223 10.504 587.019 10.563 596.815C10.613 605.067 10.709 613.317 10.932 621.566C11.418 639.542 12.479 657.675 15.678 675.452C18.9229 693.484 24.2199 710.269 32.5688 726.653C40.7768 742.759 51.4997 757.495 64.2906 770.272C77.0815 783.049 91.8304 793.757 107.95 801.956C124.362 810.302 141.174 815.595 159.238 818.836C177.027 822.029 195.174 823.088 213.161 823.573C221.42 823.796 229.679 823.891 237.941 823.941C247.748 824.001 257.554 823.997 267.361 823.997L380.006 824H465.217L577.644 823.996C587.432 823.996 597.22 824.001 607.008 823.941C615.253 823.891 623.495 823.796 631.738 823.573C649.698 823.087 667.816 822.027 685.579 818.832C703.597 815.591 720.368 810.3 736.739 801.959C752.831 793.761 767.554 783.051 780.32 770.272C793.086 757.497 803.786 742.763 811.978 726.66C820.316 710.268 825.604 693.475 828.844 675.431C832.034 657.661 833.092 639.535 833.577 621.566C833.8 613.316 833.895 605.066 833.944 596.815C834.005 587.019 834 577.223 834 567.427C834 567.427 833.994 456.983 833.994 454.998V368.999C833.994 367.533 834 256.627 834 256.627" fill="white"/>
</mask>
<g mask="url(#mask0_4316_586)">
<rect x="-35" y="-45" width="914" height="914" fill="url(#paint1_linear_4316_586)"/>
</g>
</g>
<path d="M186.483 282.258L401.655 419.129L186.483 556" stroke="url(#paint2_linear_4316_586)" stroke-width="60" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M182 268L397.172 404.871L182 541.742" stroke="url(#paint3_linear_4316_586)" stroke-width="60" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M459.931 556H661.655" stroke="url(#paint4_linear_4316_586)" stroke-width="60" stroke-linecap="round"/>
<path d="M455.449 541.742H657.173" stroke="url(#paint5_linear_4316_586)" stroke-width="60" stroke-linecap="round"/>
<defs>
<filter id="filter0_d_4316_586" x="0" y="0" width="844" height="844" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="10"/>
<feGaussianBlur stdDeviation="5"/>
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4316_586"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4316_586" result="shape"/>
</filter>
<filter id="filter1_i_4316_586" x="10" y="0" width="824" height="836" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
<feOffset dy="12"/>
<feGaussianBlur stdDeviation="35"/>
<feComposite in2="hardAlpha" operator="arithmetic" k2="-1" k3="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.07 0"/>
<feBlend mode="normal" in2="shape" result="effect1_innerShadow_4316_586"/>
</filter>
<linearGradient id="paint0_linear_4316_586" x1="-271.14" y1="0" x2="-271.14" y2="1386.28" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="0.489516" stop-color="#EFEFEF"/>
<stop offset="1" stop-color="#C0C0C0"/>
</linearGradient>
<linearGradient id="paint1_linear_4316_586" x1="-131.677" y1="-238.354" x2="-131.677" y2="869" gradientUnits="userSpaceOnUse">
<stop stop-color="#767676"/>
<stop offset="1"/>
</linearGradient>
<linearGradient id="paint2_linear_4316_586" x1="186.483" y1="282.258" x2="186.483" y2="556" gradientUnits="userSpaceOnUse">
<stop stop-color="#C0C0C0"/>
<stop offset="1" stop-color="#5D5D5D"/>
</linearGradient>
<linearGradient id="paint3_linear_4316_586" x1="182" y1="268" x2="182" y2="541.742" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="#E8E8E8"/>
</linearGradient>
<linearGradient id="paint4_linear_4316_586" x1="682.5" y1="524" x2="436" y2="524.5" gradientUnits="userSpaceOnUse">
<stop stop-color="#C0C0C0"/>
<stop offset="1" stop-color="#5E5E5E"/>
</linearGradient>
<linearGradient id="paint5_linear_4316_586" x1="457.5" y1="516.332" x2="455.449" y2="542.742" gradientUnits="userSpaceOnUse">
<stop stop-color="white"/>
<stop offset="1" stop-color="#E8E8E8"/>
</linearGradient>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB