Skip to content
Merged
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
29 changes: 12 additions & 17 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,7 @@ on:
- "src/**"
- "pnpm-lock.yaml"
- ".github/workflows/publish.yml"
workflow_dispatch:
inputs:
bump:
description: "Version bump type"
required: true
type: choice
options:
- patch
- minor
- major
workflow_dispatch: {}

concurrency:
group: publish-${{ github.event_name }}
Expand Down Expand Up @@ -115,12 +106,15 @@ jobs:

- run: pnpm build

- name: Bump version
- name: Read version + guard against retag
id: version
run: |
npm version ${{ inputs.bump }} --no-git-tag-version --ignore-scripts
VERSION=$(node -p "require('./package.json').version")
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
if git rev-parse "v${VERSION}" >/dev/null 2>&1; then
echo "::error::Tag v${VERSION} already exists. Bump package.json on main via a PR before dispatching."
exit 1
fi

- name: Generate changelog
id: changelog
Expand Down Expand Up @@ -159,14 +153,12 @@ jobs:
echo "CHANGELOG_EOF"
} >> "$GITHUB_OUTPUT"

- name: Commit and tag
- name: Tag release
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add package.json
git commit -m "chore(release): v${{ steps.version.outputs.version }}"
git tag -a "v${{ steps.version.outputs.version }}" -m "v${{ steps.version.outputs.version }}"
git push origin main --follow-tags
git push origin "v${{ steps.version.outputs.version }}"

- name: Publish to npm
run: |
Expand All @@ -179,6 +171,9 @@ jobs:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cat <<'NOTES_EOF' > /tmp/release-notes.md
${{ steps.changelog.outputs.body }}
NOTES_EOF
gh release create "v${{ steps.version.outputs.version }}" \
--title "@vllnt/convex-mcp v${{ steps.version.outputs.version }}" \
--notes "${{ steps.changelog.outputs.body }}"
--notes-file /tmp/release-notes.md
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.3.0] - 2026-04-27
## [0.3.1] - 2026-04-27

### Added

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ createMCPServer({
resources?: Record<string, ResourceDef>;
convexUrl?: string; // defaults to CONVEX_URL or NEXT_PUBLIC_CONVEX_URL
name?: string; // MCP server name (default: "convex-mcp")
version?: string; // MCP server version (default: "0.3.0")
version?: string; // MCP server version (default: "0.3.1")
pagination?: PaginationConfig; // opt-in pagination + two-phase discovery
})
```
Expand Down
4 changes: 2 additions & 2 deletions docs/api-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ const mcp = createMCPServer({
resources?: Record<string, ResourceDef>;
convexUrl?: string; // defaults to CONVEX_URL or NEXT_PUBLIC_CONVEX_URL env var
name?: string; // MCP server name (default: "convex-mcp")
version?: string; // MCP server version (default: "0.3.0")
version?: string; // MCP server version (default: "0.3.1")
pagination?: PaginationConfig; // opt-in pagination + two-phase discovery
hooks?: LifecycleHooks; // before/success/error tool-call hooks
});
Expand All @@ -28,7 +28,7 @@ const mcp = createMCPServer({
| `resources` | `Record<string, ResourceDef>` | No | `{}` | Named MCP resources. Keys are URI template patterns. |
| `convexUrl` | `string` | No | env var | Convex deployment URL. Falls back to `CONVEX_URL` then `NEXT_PUBLIC_CONVEX_URL`. |
| `name` | `string` | No | `"convex-mcp"` | Server name reported in MCP `initialize` response. |
| `version` | `string` | No | `"0.3.0"` | Server version reported in MCP `initialize` response. |
| `version` | `string` | No | `"0.3.1"` | Server version reported in MCP `initialize` response. |
| `pagination` | `PaginationConfig` | No | — | Opt-in pagination and two-phase discovery. See [Pagination](#pagination). |
| `hooks` | `LifecycleHooks` | No | — | Lifecycle hooks for tool calls. See [`LifecycleHooks`](#lifecyclehooks). |

Expand Down
2 changes: 1 addition & 1 deletion llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ const mcp = createMCPServer({
// OPTIONAL: MCP server name (default: "convex-mcp")
name?: string,

// OPTIONAL: MCP server version (default: "0.3.0")
// OPTIONAL: MCP server version (default: "0.3.1")
version?: string,

// OPTIONAL: pagination and two-phase discovery
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@vllnt/convex-mcp",
"version": "0.3.0",
"version": "0.3.1",
"description": "Expose Convex functions as MCP tools with zero boilerplate",
"type": "module",
"main": "./dist/index.cjs",
Expand Down
2 changes: 1 addition & 1 deletion src/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ export function createMCPServer(config: ServerConfig): ConvexMCPServer {
}

const serverName = config.name ?? "convex-mcp";
const serverVersion = config.version ?? "0.3.0";
const serverVersion = config.version ?? "0.3.1";
const hooks = config.hooks;

const prepared = prepareTools(config.tools ?? {});
Expand Down
Loading