Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .jules/bolt.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,9 @@
**Learning:** SVG assets generated by design tools often contain significant overhead (metadata, comments, unnecessary path precision). Minifying these assets with tools like `svgo` can reduce file size by ~50% without visual degradation.

**Action:** Always run SVGs through a minifier like `svgo` before committing. This ensures minimal asset weight and faster organization profile loading.

## 2025-04-30 - README Payload and LCP Optimization

**Learning:** Using root-relative paths for internal GitHub links reduces HTML payload and enables faster internal navigation. Adding 'fetchpriority="high"' and 'decoding="async"' to above-the-fold brand assets helps improve Largest Contentful Paint (LCP) and main-thread responsiveness.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The learning note regarding decoding="async" is slightly inaccurate for LCP optimization. While decoding="async" improves main-thread responsiveness by offloading decoding work, it can actually delay the paint of the image, which may negatively impact the Largest Contentful Paint (LCP) metric if applied to the primary brand asset. It is best reserved for non-critical or below-the-fold images.

Suggested change
**Learning:** Using root-relative paths for internal GitHub links reduces HTML payload and enables faster internal navigation. Adding 'fetchpriority="high"' and 'decoding="async"' to above-the-fold brand assets helps improve Largest Contentful Paint (LCP) and main-thread responsiveness.
**Learning:** Using root-relative paths for internal GitHub links reduces HTML payload and enables faster internal navigation. Adding 'fetchpriority="high"' to above-the-fold brand assets helps improve Largest Contentful Paint (LCP), while 'decoding="async"' is better suited for non-critical assets to maintain main-thread responsiveness.


**Action:** Prefer root-relative paths for organization-internal links in READMEs. Always include LCP-hinting attributes for critical images.
34 changes: 17 additions & 17 deletions profile/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="assets/logo-dark.svg">
<img src="assets/logo.svg" alt="Model Context Protocol Logo" width="600" height="87">
<img src="assets/logo.svg" alt="Model Context Protocol Logo" width="600" height="87" fetchpriority="high" decoding="async">
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

While fetchpriority="high" is a beneficial hint for the primary brand asset to improve Largest Contentful Paint (LCP), using decoding="async" on the same element can be counter-productive.

decoding="async" allows the browser to defer the decoding (or rasterization for SVGs) of the image to avoid blocking the main thread. However, for an above-the-fold image that is likely the LCP element, this can delay the actual paint of the image, potentially increasing the LCP metric. For critical, visible assets, the default decoding="auto" (or explicit sync) is generally preferred to ensure the image is rendered as soon as it is decoded.

Note: While GitHub's markdown sanitizer may currently strip these attributes, it is best practice to use them correctly for environments where they are supported.

Suggested change
<img src="assets/logo.svg" alt="Model Context Protocol Logo" width="600" height="87" fetchpriority="high" decoding="async">
<img src="assets/logo.svg" alt="Model Context Protocol Logo" width="600" height="87" fetchpriority="high">

</picture>
</p>

Expand All @@ -15,7 +15,7 @@
<p align="center">
<a href="https://modelcontextprotocol.io">Documentation</a> |
<a href="https://spec.modelcontextprotocol.io">Specification</a> |
<a href="https://github.com/orgs/modelcontextprotocol/discussions">Discussions</a>
<a href="/orgs/modelcontextprotocol/discussions">Discussions</a>
</p>

The Model Context Protocol (MCP) is an open protocol that enables seamless integration between LLM applications and external data sources and tools. Whether you're building an AI-powered IDE, enhancing a chat interface, or creating custom AI workflows, MCP provides a standardized way to connect LLMs with the context they need.
Expand All @@ -25,29 +25,29 @@ The Model Context Protocol (MCP) is an open protocol that enables seamless integ
- 📚 Read the [Documentation](https://modelcontextprotocol.io) for guides and tutorials
- 🔍 Review the [Specification](https://spec.modelcontextprotocol.io) for protocol details
- 💻 Use our SDKs to start building:
- [TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)
- [Python SDK](https://github.com/modelcontextprotocol/python-sdk)
- [Java SDK](https://github.com/modelcontextprotocol/java-sdk)
- [Kotlin SDK](https://github.com/modelcontextprotocol/kotlin-sdk)
- [C# SDK](https://github.com/modelcontextprotocol/csharp-sdk)
- [TypeScript SDK](/modelcontextprotocol/typescript-sdk)
- [Python SDK](/modelcontextprotocol/python-sdk)
- [Java SDK](/modelcontextprotocol/java-sdk)
- [Kotlin SDK](/modelcontextprotocol/kotlin-sdk)
- [C# SDK](/modelcontextprotocol/csharp-sdk)

## Project Structure

- [specification](https://github.com/modelcontextprotocol/specification) - Protocol specification and documentation
- [typescript-sdk](https://github.com/modelcontextprotocol/typescript-sdk) - TypeScript implementation
- [python-sdk](https://github.com/modelcontextprotocol/python-sdk) - Python implementation
- [java-sdk](https://github.com/modelcontextprotocol/java-sdk) - Java implementation
- [kotlin-sdk](https://github.com/modelcontextprotocol/kotlin-sdk) - Kotlin implementation
- [csharp-sdk](https://github.com/modelcontextprotocol/csharp-sdk) - C# implementation
- [docs](https://github.com/modelcontextprotocol/docs) - User documentation and guides
- [create-kotlin-server](https://github.com/modelcontextprotocol/kotlin-sdk/tree/main/samples/kotlin-mcp-server) - Kotlin sample server
- [servers](https://github.com/modelcontextprotocol/servers) - List of maintained servers
- [specification](/modelcontextprotocol/specification) - Protocol specification and documentation
- [typescript-sdk](/modelcontextprotocol/typescript-sdk) - TypeScript implementation
- [python-sdk](/modelcontextprotocol/python-sdk) - Python implementation
- [java-sdk](/modelcontextprotocol/java-sdk) - Java implementation
- [kotlin-sdk](/modelcontextprotocol/kotlin-sdk) - Kotlin implementation
- [csharp-sdk](/modelcontextprotocol/csharp-sdk) - C# implementation
- [docs](/modelcontextprotocol/docs) - User documentation and guides
- [create-kotlin-server](/modelcontextprotocol/kotlin-sdk/tree/main/samples/kotlin-mcp-server) - Kotlin sample server
- [servers](/modelcontextprotocol/servers) - List of maintained servers

## Contributing

We welcome contributions of all kinds! Whether you want to fix bugs, improve documentation, or propose new features, please see our [contributing guide](CONTRIBUTING.md) to get started.

Have questions? Join the discussion in our [community forum](https://github.com/orgs/modelcontextprotocol/discussions).
Have questions? Join the discussion in our [community forum](/orgs/modelcontextprotocol/discussions).

## About

Expand Down
1 change: 0 additions & 1 deletion profile/assets/logo-dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion profile/assets/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.