Skip to content

Commit fdc7acc

Browse files
Merge pull request #3 from promptmesh/feat/docs
setup mkdocs material
2 parents fd8177d + c902fe9 commit fdc7acc

File tree

5 files changed

+165
-0
lines changed

5 files changed

+165
-0
lines changed

.github/workflows/mkdocs.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: mkdocs deploy
2+
on:
3+
workflow_dispatch:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
permissions:
9+
contents: write
10+
jobs:
11+
deploy:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
- name: Configure Git Credentials
16+
run: |
17+
git config user.name github-actions[bot]
18+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
19+
- uses: actions/setup-python@v5
20+
with:
21+
python-version: 3.x
22+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
23+
- uses: actions/cache@v4
24+
with:
25+
key: mkdocs-material-${{ env.cache_id }}
26+
path: .cache
27+
restore-keys: |
28+
mkdocs-material-
29+
- run: pip install mkdocs-material
30+
- run: mkdocs gh-deploy --force

docs/assets/logo-dark-transparent.png

131 KB
Loading

docs/index.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# EasyMCP
2+
3+
EasyMCP is a modern Python implementation of the Model Context Protocol (MCP), designed to manage and interact with distributed AI servers, tools, and resources using a consistent and extensible API.
4+
5+
---
6+
7+
## Features
8+
9+
- 🌐 Multi-server orchestration via `ClientManager`
10+
- 🧠 Built-in support for tools, resources, and prompts
11+
- 🔄 Automatic cache invalidation via push notifications
12+
- 🧪 Async-native, with support for subprocesses, Docker, SSE transports
13+
- 🔌 Easy integration with search engines like Meilisearch
14+
15+
---
16+
17+
## Installation
18+
19+
```bash
20+
uv add easymcp
21+
```
22+
23+
---
24+
25+
## Quickstart
26+
27+
```python
28+
from easymcp.client.ClientManager import ClientManager
29+
from easymcp.client.transports.stdio import StdioServerParameters
30+
31+
mgr = ClientManager()
32+
33+
servers = {
34+
"timeserver": StdioServerParameters(command="uvx", args=["mcp-timeserver"])
35+
}
36+
37+
await mgr.init(servers)
38+
tools = await mgr.list_tools()
39+
```
40+
41+
Check out [Usage](usage.md) to learn more.

docs/usage.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Usage
2+
3+
## Managing Servers
4+
5+
Use `ClientManager` to start and stop multiple MCP servers.
6+
7+
```python
8+
from easymcp.client.ClientManager import ClientManager
9+
from easymcp.client.transports.stdio import StdioServerParameters
10+
11+
mgr = ClientManager()
12+
13+
await mgr.init({
14+
"timeserver": StdioServerParameters(command="uvx", args=["mcp-timeserver"])
15+
})
16+
```
17+
18+
---
19+
20+
## Listing & Calling Tools
21+
22+
```python
23+
tools = await mgr.list_tools()
24+
result = await mgr.call_tool("timeserver.get-current-time", {})
25+
```
26+
27+
---
28+
29+
## Reading Resources
30+
31+
```python
32+
resources = await mgr.list_resources()
33+
data = await mgr.read_resource("mcp-timeserver+datetime://UTC/now")
34+
```
35+
36+
---
37+
38+
## Using Prompts
39+
40+
```python
41+
prompts = await mgr.list_prompts()
42+
response = await mgr.read_prompt("wa", {"query": "pi"})
43+
```

mkdocs.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
site_name: EasyMCP
2+
site_url: https://easymcp.promptmesh.io
3+
repo_url: https://github.com/promptmesh/easymcp
4+
repo_name: promptmesh/easymcp
5+
copyright: Copyright © 2025 Promptmesh
6+
7+
theme:
8+
name: material
9+
palette:
10+
- scheme: slate
11+
primary: black
12+
accent: blue
13+
features:
14+
- navigation.instant
15+
- navigation.tracking
16+
- navigation.tabs
17+
- toc.integrate
18+
- content.code.copy
19+
- content.code.annotate
20+
- content.action.edit
21+
- content.tabs.link
22+
icon:
23+
logo: material/lambda
24+
repo: fontawesome/brands/github
25+
font:
26+
text: Inter
27+
code: JetBrains Mono
28+
29+
nav:
30+
- Home: index.md
31+
- Usage: usage.md
32+
33+
markdown_extensions:
34+
- admonition
35+
- codehilite
36+
- toc:
37+
permalink: true
38+
- pymdownx.highlight
39+
- pymdownx.inlinehilite
40+
- pymdownx.superfences
41+
- pymdownx.details
42+
- pymdownx.emoji
43+
- pymdownx.keys
44+
- pymdownx.tabbed:
45+
alternate_style: true
46+
47+
extra:
48+
social:
49+
- icon: fontawesome/brands/github
50+
link: https://github.com/promptmesh
51+
generator: false

0 commit comments

Comments
 (0)