Spaces:
Running
Running
Jeremiah Lowin commited on
Commit ·
84a5ab6
1
Parent(s): 746ce7e
update version badges
Browse files- docs/clients/transports.mdx +4 -0
- docs/patterns/contrib.mdx +3 -0
- docs/servers/fastmcp.mdx +6 -0
- docs/servers/prompts.mdx +4 -0
- docs/servers/resources.mdx +2 -0
- docs/servers/tools.mdx +2 -0
- docs/snippets/version-badge.mdx +9 -4
- docs/style.css +15 -18
docs/clients/transports.mdx
CHANGED
|
@@ -5,6 +5,10 @@ description: Understand the different ways FastMCP Clients can connect to server
|
|
| 5 |
icon: link
|
| 6 |
---
|
| 7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
The FastMCP `Client` relies on a `ClientTransport` object to handle the specifics of connecting to and communicating with an MCP server. FastMCP provides several built-in transport implementations for common connection methods.
|
| 9 |
|
| 10 |
While the `Client` often infers the correct transport automatically (see [Client Overview](/clients/client#transport-inference)), you can also instantiate transports explicitly for more control.
|
|
|
|
| 5 |
icon: link
|
| 6 |
---
|
| 7 |
|
| 8 |
+
import { VersionBadge } from "/snippets/version-badge.mdx"
|
| 9 |
+
|
| 10 |
+
<VersionBadge version="2.0.0" />
|
| 11 |
+
|
| 12 |
The FastMCP `Client` relies on a `ClientTransport` object to handle the specifics of connecting to and communicating with an MCP server. FastMCP provides several built-in transport implementations for common connection methods.
|
| 13 |
|
| 14 |
While the `Client` often infers the correct transport automatically (see [Client Overview](/clients/client#transport-inference)), you can also instantiate transports explicitly for more control.
|
docs/patterns/contrib.mdx
CHANGED
|
@@ -4,6 +4,9 @@ description: "Community-contributed modules extending FastMCP"
|
|
| 4 |
icon: "cubes"
|
| 5 |
---
|
| 6 |
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
FastMCP includes a `contrib` package that holds community-contributed modules. These modules extend FastMCP's functionality but aren't officially maintained by the core team.
|
| 9 |
|
|
|
|
| 4 |
icon: "cubes"
|
| 5 |
---
|
| 6 |
|
| 7 |
+
import { VersionBadge } from "/snippets/version-badge.mdx"
|
| 8 |
+
|
| 9 |
+
<VersionBadge version="2.2.1" />
|
| 10 |
|
| 11 |
FastMCP includes a `contrib` package that holds community-contributed modules. These modules extend FastMCP's functionality but aren't officially maintained by the core team.
|
| 12 |
|
docs/servers/fastmcp.mdx
CHANGED
|
@@ -5,6 +5,8 @@ description: Learn about the core FastMCP server class and how to run it.
|
|
| 5 |
icon: server
|
| 6 |
---
|
| 7 |
|
|
|
|
|
|
|
| 8 |
The central piece of a FastMCP application is the `FastMCP` server class. This class acts as the main container for your application's tools, resources, and prompts, and manages communication with MCP clients.
|
| 9 |
|
| 10 |
## Creating a Server
|
|
@@ -225,6 +227,8 @@ The CLI can dynamically find and run FastMCP server objects in your files, but i
|
|
| 225 |
|
| 226 |
## Composing Servers
|
| 227 |
|
|
|
|
|
|
|
| 228 |
FastMCP supports composing multiple servers together using `import_server` (static copy) and `mount` (live link). This allows you to organize large applications into modular components or reuse existing servers.
|
| 229 |
|
| 230 |
See the [Server Composition](/patterns/composition) guide for full details, best practices, and examples.
|
|
@@ -246,6 +250,8 @@ main.mount("sub", sub)
|
|
| 246 |
|
| 247 |
## Proxying Servers
|
| 248 |
|
|
|
|
|
|
|
| 249 |
FastMCP can act as a proxy for any MCP server (local or remote) using `FastMCP.from_client`, letting you bridge transports or add a frontend to existing servers. For example, you can expose a remote SSE server locally via stdio, or vice versa.
|
| 250 |
|
| 251 |
See the [Proxying Servers](/patterns/proxy) guide for details and advanced usage.
|
|
|
|
| 5 |
icon: server
|
| 6 |
---
|
| 7 |
|
| 8 |
+
import { VersionBadge } from "/snippets/version-badge.mdx"
|
| 9 |
+
|
| 10 |
The central piece of a FastMCP application is the `FastMCP` server class. This class acts as the main container for your application's tools, resources, and prompts, and manages communication with MCP clients.
|
| 11 |
|
| 12 |
## Creating a Server
|
|
|
|
| 227 |
|
| 228 |
## Composing Servers
|
| 229 |
|
| 230 |
+
<VersionBadge version="2.2.0" />
|
| 231 |
+
|
| 232 |
FastMCP supports composing multiple servers together using `import_server` (static copy) and `mount` (live link). This allows you to organize large applications into modular components or reuse existing servers.
|
| 233 |
|
| 234 |
See the [Server Composition](/patterns/composition) guide for full details, best practices, and examples.
|
|
|
|
| 250 |
|
| 251 |
## Proxying Servers
|
| 252 |
|
| 253 |
+
<VersionBadge version="2.0.0" />
|
| 254 |
+
|
| 255 |
FastMCP can act as a proxy for any MCP server (local or remote) using `FastMCP.from_client`, letting you bridge transports or add a frontend to existing servers. For example, you can expose a remote SSE server locally via stdio, or vice versa.
|
| 256 |
|
| 257 |
See the [Proxying Servers](/patterns/proxy) guide for details and advanced usage.
|
docs/servers/prompts.mdx
CHANGED
|
@@ -5,6 +5,8 @@ description: Create reusable, parameterized prompt templates for MCP clients.
|
|
| 5 |
icon: message-lines
|
| 6 |
---
|
| 7 |
|
|
|
|
|
|
|
| 8 |
Prompts are reusable message templates that help LLMs generate structured, purposeful responses. FastMCP simplifies defining these templates, primarily using the `@mcp.prompt` decorator.
|
| 9 |
|
| 10 |
## What Are Prompts?
|
|
@@ -201,6 +203,8 @@ Refer to the [Context documentation](/servers/context) for more details on these
|
|
| 201 |
|
| 202 |
### Duplicate Prompts
|
| 203 |
|
|
|
|
|
|
|
| 204 |
You can configure how the FastMCP server handles attempts to register multiple prompts with the same name. Use the `on_duplicate_prompts` setting during `FastMCP` initialization.
|
| 205 |
|
| 206 |
```python
|
|
|
|
| 5 |
icon: message-lines
|
| 6 |
---
|
| 7 |
|
| 8 |
+
import { VersionBadge } from "/snippets/version-badge.mdx"
|
| 9 |
+
|
| 10 |
Prompts are reusable message templates that help LLMs generate structured, purposeful responses. FastMCP simplifies defining these templates, primarily using the `@mcp.prompt` decorator.
|
| 11 |
|
| 12 |
## What Are Prompts?
|
|
|
|
| 203 |
|
| 204 |
### Duplicate Prompts
|
| 205 |
|
| 206 |
+
<VersionBadge version="2.1.0" />
|
| 207 |
+
|
| 208 |
You can configure how the FastMCP server handles attempts to register multiple prompts with the same name. Use the `on_duplicate_prompts` setting during `FastMCP` initialization.
|
| 209 |
|
| 210 |
```python
|
docs/servers/resources.mdx
CHANGED
|
@@ -397,6 +397,8 @@ This allows accessing the same template implementation through different URI pat
|
|
| 397 |
|
| 398 |
### Duplicate Resources
|
| 399 |
|
|
|
|
|
|
|
| 400 |
You can configure how the FastMCP server handles attempts to register multiple resources or templates with the same URI. Use the `on_duplicate_resources` setting during `FastMCP` initialization.
|
| 401 |
|
| 402 |
```python
|
|
|
|
| 397 |
|
| 398 |
### Duplicate Resources
|
| 399 |
|
| 400 |
+
<VersionBadge version="2.1.0" />
|
| 401 |
+
|
| 402 |
You can configure how the FastMCP server handles attempts to register multiple resources or templates with the same URI. Use the `on_duplicate_resources` setting during `FastMCP` initialization.
|
| 403 |
|
| 404 |
```python
|
docs/servers/tools.mdx
CHANGED
|
@@ -311,6 +311,8 @@ For full documentation on the Context object and all its capabilities, see the [
|
|
| 311 |
|
| 312 |
### Duplicate Tools
|
| 313 |
|
|
|
|
|
|
|
| 314 |
You can control how the FastMCP server behaves if you try to register multiple tools with the same name. This is configured using the `on_duplicate_tools` argument when creating the `FastMCP` instance.
|
| 315 |
|
| 316 |
```python
|
|
|
|
| 311 |
|
| 312 |
### Duplicate Tools
|
| 313 |
|
| 314 |
+
<VersionBadge version="2.1.0" />
|
| 315 |
+
|
| 316 |
You can control how the FastMCP server behaves if you try to register multiple tools with the same name. This is configured using the `on_duplicate_tools` argument when creating the `FastMCP` instance.
|
| 317 |
|
| 318 |
```python
|
docs/snippets/version-badge.mdx
CHANGED
|
@@ -1,8 +1,13 @@
|
|
| 1 |
export const VersionBadge = ({ version }) => {
|
| 2 |
return (
|
| 3 |
-
<
|
| 4 |
-
<
|
| 5 |
-
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
);
|
| 8 |
};
|
|
|
|
| 1 |
export const VersionBadge = ({ version }) => {
|
| 2 |
return (
|
| 3 |
+
<code className="version-badge-container">
|
| 4 |
+
<div className="version-badge">
|
| 5 |
+
<span className="version-badge-label">New in version:</span>
|
| 6 |
+
<span className="version-badge-version">{version}</span>
|
| 7 |
+
</div>
|
| 8 |
+
</code>
|
| 9 |
+
|
| 10 |
+
|
| 11 |
+
|
| 12 |
);
|
| 13 |
};
|
docs/style.css
CHANGED
|
@@ -14,16 +14,18 @@ h6 code:not(pre code) {
|
|
| 14 |
|
| 15 |
/* Version badge -- display a badge with the current version of the documentation */
|
| 16 |
.version-badge {
|
| 17 |
-
display: inline-
|
| 18 |
align-items: center;
|
| 19 |
gap: 0.3em;
|
| 20 |
-
padding: 0.
|
| 21 |
-
font-size:
|
| 22 |
-
font-weight:
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
|
|
|
|
|
|
| 27 |
border-radius: 6px;
|
| 28 |
box-shadow: none;
|
| 29 |
vertical-align: middle;
|
|
@@ -31,6 +33,11 @@ h6 code:not(pre code) {
|
|
| 31 |
transition: box-shadow 0.2s, transform 0.15s;
|
| 32 |
}
|
| 33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
.version-badge:hover {
|
| 35 |
box-shadow: 0 2px 8px 0 rgba(160, 132, 252, 0.1);
|
| 36 |
transform: translateY(-1px) scale(1.03);
|
|
@@ -41,13 +48,3 @@ h6 code:not(pre code) {
|
|
| 41 |
background: #312e81;
|
| 42 |
border: 1.5px solid #a78bfa;
|
| 43 |
}
|
| 44 |
-
|
| 45 |
-
.badge-emoji {
|
| 46 |
-
font-size: 1.15em;
|
| 47 |
-
line-height: 1;
|
| 48 |
-
text-shadow: 0 1px 2px #fff, 0 0px 2px #c084fc;
|
| 49 |
-
}
|
| 50 |
-
|
| 51 |
-
.dark .badge-emoji {
|
| 52 |
-
text-shadow: 0 1px 2px #312e81, 0 0px 2px #a78bfa;
|
| 53 |
-
}
|
|
|
|
| 14 |
|
| 15 |
/* Version badge -- display a badge with the current version of the documentation */
|
| 16 |
.version-badge {
|
| 17 |
+
display: inline-block;
|
| 18 |
align-items: center;
|
| 19 |
gap: 0.3em;
|
| 20 |
+
padding: 0.2em 0.8em;
|
| 21 |
+
font-size: 1.1em;
|
| 22 |
+
font-weight: 400;
|
| 23 |
+
|
| 24 |
+
font-family: "Inter", sans-serif;
|
| 25 |
+
letter-spacing: 0.025em;
|
| 26 |
+
color: #ff5400;
|
| 27 |
+
background: #ffeee6;
|
| 28 |
+
border: 1px solid rgb(255, 84, 0, 0.5);
|
| 29 |
border-radius: 6px;
|
| 30 |
box-shadow: none;
|
| 31 |
vertical-align: middle;
|
|
|
|
| 33 |
transition: box-shadow 0.2s, transform 0.15s;
|
| 34 |
}
|
| 35 |
|
| 36 |
+
.version-badge-container {
|
| 37 |
+
margin: 0;
|
| 38 |
+
padding: 0;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
.version-badge:hover {
|
| 42 |
box-shadow: 0 2px 8px 0 rgba(160, 132, 252, 0.1);
|
| 43 |
transform: translateY(-1px) scale(1.03);
|
|
|
|
| 48 |
background: #312e81;
|
| 49 |
border: 1.5px solid #a78bfa;
|
| 50 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|