Skip to content

Commit 7b53217

Browse files
feat: updated the docs
1 parent e6f3d34 commit 7b53217

31 files changed

+542
-157
lines changed

CODE_OF_CONDUCT.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, caste, color, religion, or sexual
10+
identity and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
- Focusing on what is best not just for us as individuals, but for the overall
26+
community
27+
28+
Examples of unacceptable behavior include:
29+
30+
- The use of sexualized language or imagery, and sexual attention or advances of
31+
any kind
32+
- Trolling, insulting or derogatory comments, and personal or political attacks
33+
- Public or private harassment
34+
- Publishing others' private information, such as a physical or email address,
35+
without their explicit permission
36+
- Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official email address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series of
86+
actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or permanent
93+
ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within the
113+
community.

CONTRIBUTING.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Contributing
2+
3+
Thanks for showing interest in contributing to Muppet 💖, you rock!
4+
5+
When it comes to open source, you can contribute in different ways, all of which are valuable.

docs/astro.config.mjs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,8 @@ export default defineConfig({
4949
],
5050
},
5151
{
52-
label: "Tutorials",
53-
items: [
54-
{ label: "Debugging", slug: "tutorials/debugging" },
55-
{ label: "Inspector", slug: "tutorials/inspector" },
56-
],
52+
label: "Tools",
53+
items: [{ label: "Inspector", slug: "tools/inspector" }],
5754
},
5855
{
5956
label: "Concepts",
@@ -62,6 +59,7 @@ export default defineConfig({
6259
{ label: "Resources", slug: "concepts/resources" },
6360
{ label: "Prompts", slug: "concepts/prompts" },
6461
{ label: "Tools", slug: "concepts/tools" },
62+
{ label: "Transports", slug: "concepts/transports" },
6563
],
6664
},
6765
{

docs/package.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,11 @@
1313
"@astrojs/starlight": "^0.32.3",
1414
"astro": "^5.1.5",
1515
"sharp": "^0.32.5"
16+
},
17+
"devDependencies": {
18+
"@modelcontextprotocol/sdk": "^1.7.0",
19+
"hono": "^4.7.5",
20+
"muppet": "workspace:*",
21+
"zod": "^3.24.2"
1622
}
1723
}

docs/src/assets/logo-dark.png

7.53 KB
Loading

docs/src/assets/logo-light.png

7.77 KB
Loading
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2+
import { Hono } from "hono";
3+
import {
4+
describePrompt,
5+
mValidator,
6+
muppet,
7+
type PromptResponseType,
8+
} from "muppet";
9+
import z from "zod";
10+
11+
const app = new Hono();
12+
13+
// Define a simple prompt
14+
app.post(
15+
"/simple",
16+
describePrompt({ name: "Simple Prompt" }),
17+
mValidator(
18+
z.object({
19+
name: z.string(),
20+
}),
21+
),
22+
(c) => {
23+
const { name } = c.req.valid("json");
24+
return c.json<PromptResponseType>([
25+
{
26+
role: "user",
27+
content: {
28+
type: "text",
29+
text: `This is a simple prompt for ${name}`,
30+
},
31+
},
32+
]);
33+
},
34+
);
35+
36+
// Creating your mcp server
37+
muppet(app, {
38+
name: "My Muppet",
39+
version: "1.0.0",
40+
}).then((mcp) => {
41+
if (!mcp) {
42+
throw new Error("MCP not initialized");
43+
}
44+
45+
// Connecting your mcp to a transport
46+
bridge({
47+
mcp,
48+
transport: new StdioServerTransport(),
49+
});
50+
});
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2+
import { Hono } from "hono";
3+
import { muppet, registerResources } from "muppet";
4+
5+
const app = new Hono();
6+
7+
// Define all the resources that your tool can provide
8+
app.post(
9+
"/documents",
10+
registerResources((c) => {
11+
return c.json([
12+
{
13+
uri: "https://lorem.ipsum",
14+
name: "Todo list",
15+
mimeType: "text/plain",
16+
},
17+
{
18+
type: "template",
19+
uri: "https://lorem.{ending}",
20+
name: "Todo list",
21+
mimeType: "text/plain",
22+
},
23+
]);
24+
}),
25+
);
26+
27+
// Creating your mcp server
28+
muppet(app, {
29+
name: "My Muppet",
30+
version: "1.0.0",
31+
}).then((mcp) => {
32+
if (!mcp) {
33+
throw new Error("MCP not initialized");
34+
}
35+
36+
// Connecting your mcp to a transport
37+
bridge({
38+
mcp,
39+
transport: new StdioServerTransport(),
40+
});
41+
});
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
2+
import { Hono } from "hono";
3+
import {
4+
describeTool,
5+
mValidator,
6+
muppet,
7+
type ToolResponseType,
8+
} from "muppet";
9+
import z from "zod";
10+
11+
const app = new Hono();
12+
13+
// Define a simple hello world tool
14+
app.post(
15+
"/hello",
16+
describeTool({
17+
name: "Hello World",
18+
description: "A simple hello world route",
19+
}),
20+
mValidator(
21+
// You can use your favorite schema validator,
22+
// eg - zod, valibot, arktype, typebox, etc
23+
z.object({
24+
name: z.string(),
25+
}),
26+
),
27+
(c) => {
28+
const { name } = c.req.valid("json");
29+
return c.json<ToolResponseType>([
30+
{
31+
type: "text",
32+
text: `Hello ${name}!`,
33+
},
34+
]);
35+
},
36+
);
37+
38+
// Creating your mcp server
39+
muppet(app, {
40+
name: "My Muppet",
41+
version: "1.0.0",
42+
}).then((mcp) => {
43+
if (!mcp) {
44+
throw new Error("MCP not initialized");
45+
}
46+
47+
// Connecting your mcp to a transport
48+
bridge({
49+
mcp,
50+
transport: new StdioServerTransport(),
51+
});
52+
});

docs/src/content/docs/concepts/prompts.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)