# Quartal Plugins > Write plain TypeScript once — get MCP tools, chat widgets (MCP Apps), Agent Skills, agents, > prompts and a documented OpenAPI/REST service from the same package. Open source (MIT), > built on Astro; schemas are generated from TypeScript types and JSDoc. Create a new plugin non-interactively: `pnpm create @quartal/plugin my-plugin --yes` (flags: `--description `, `--auth`/`--no-auth`, `--sample-tool`/`--no-sample-tool`, `--widgets none|vue|react|js`; with npm, pass flags after `--`: `npm create @quartal/plugin -- my-plugin --yes`). ## Getting started - [Getting started](https://plugin.quartal.com/docs/getting-started/): Create, run and test your first Quartal Plugin in a few minutes. ## Creating Plugins - [Tools](https://plugin.quartal.com/docs/tools/creating-tools/): From a hello-world class to a fully documented tool: types, descriptions, and every JSDoc tag. - [MCP App Widgets](https://plugin.quartal.com/docs/widgets/mcp-apps-widgets/): Add a real user interface to any tool — rendered inside the chat, in any UI framework. - [Agent Skills](https://plugin.quartal.com/docs/skills/agent-skills/): Ship the know-how next to the tools: markdown skills that guide agents through your business logic. - [Prompts](https://plugin.quartal.com/docs/more/prompts/): MCP prompts as simple TypeScript functions — guided starting points for interactive chat. - [Agents](https://plugin.quartal.com/docs/more/agents/): Ship agent definitions — interactive or autonomous — as markdown or JSON files. - [Add MCP server](https://plugin.quartal.com/docs/mcp/add-mcp-server/): The built-in MCP server every plugin gets automatically, hosting several named servers, and declaring external MCP servers. - [Authentication](https://plugin.quartal.com/docs/auth/authentication/): Anonymous by default, Quartal Hub with one line of config, or any standards-compliant OAuth2 / OIDC server. ## Reference - [Plugin project & generated files](https://plugin.quartal.com/docs/reference/plugin-outputs/): What a Quartal Plugin project contains, and every file the build generates from your code. - [Configuration](https://plugin.quartal.com/docs/reference/configuration/): Every qrtl.config.ts option, the package.json fallbacks, and the qrtlPlugin() Astro integration options. - [HTTP endpoints](https://plugin.quartal.com/docs/reference/http-endpoints/): Every endpoint a running Quartal Plugin serves: metadata, MCP, REST API, skills, agents, widgets and docs. ## Contributing - [Developing the framework](https://plugin.quartal.com/docs/contributing/development/): For contributors to Quartal Plugins itself — not needed for creating plugins. ## Optional - [llms-full.txt](https://plugin.quartal.com/llms-full.txt): every documentation page above in one markdown file