Help us improve
Share bugs, ideas, or general feedback.
From secedgar-mcp-server
Files bug reports and feature requests against the @cyanheads/mcp-ts-core framework when behavior contradicts documented API.
npx claudepluginhub cyanheads/cyanheads --plugin secedgar-mcp-serverHow this skill is triggered — by the user, by Claude, or both
Slash command
/secedgar-mcp-server:report-issue-frameworkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You've isolated a problem to `@cyanheads/mcp-ts-core` itself — not your server code, not a misconfiguration, not a missing peer dependency. Typical triggers:
Files structured bug or feature reports against @cyanheads/mcp-ts-core when framework builders, utilities, or context methods behave contrary to documented API.
Guides filing bugs/feature requests for @cyanheads/mcp-ts-core framework issues. Use when builder, utility, context, or config behaves contrary to documented API.
Files well-structured GitHub issues for bugs or feature requests against this MCP server's own repo. Guides triage (framework vs. server), repo identification, and issue search.
Share bugs, ideas, or general feedback.
You've isolated a problem to @cyanheads/mcp-ts-core itself — not your server code, not a misconfiguration, not a missing peer dependency. Typical triggers:
tool(), resource(), prompt()) rejects valid input or produces incorrect outputcreateApp() or createWorkerHandler() fails on a valid configContext properties (ctx.log, ctx.state, ctx.elicit, etc.) behave contrary to docs/utils, /errors, /auth, /storage, /services returns wrong results or throws unexpectedlybun run lint:mcp) produces false positives or misses real violationsFor general gh CLI workflows outside issue filing (PRs, workflows, API access), see the github-cli skill.
bun pm ls @cyanheads/mcp-ts-core or check node_modules/@cyanheads/mcp-ts-core/package.jsonbun outdated @cyanheads/mcp-ts-core. If behind, update and retest before filing.gh issue list -R cyanheads/mcp-ts-core --search "your error message or keyword"
Good issues are scannable, concrete, and self-contained — terse and fact-dense. Default to one or two sentences per bullet; if a bullet runs long, split it or cut it. These patterns apply to both bugs and features — the guidance targets any prose block (Description, Additional context, feature proposals).
createApp() throws ConfigurationError when MCP_HTTP_PORT is set to 0" beats "There's a problem with the config." A reader should know what's broken or missing before the end of the first sentence.[Hono](https://hono.dev/), [linkedom](https://github.com/WebReflection/linkedom). Link to the canonical repo or homepage so readers can verify the dependency and reach docs in one click.owner/repo#N for cross-repo issue references. GitHub auto-renders them as linked references (e.g. cyanheads/pubmed-mcp-server#34). Bare #N only works for same-repo issues.Related: #N line near the top when the issue grows from prior context (discussions, other issues, PRs). Makes provenance clickable.Related:, the description, or Additional context — not all three. The reader sees them all; redundant linking dilutes signal.### Scope from ### Out of scope. The latter is as important as the former — it pre-empts scope-creep debates in comments and signals you've thought about the boundaries.Depends on: owner/repo#N to declare ordering explicitly when implementation is blocked on another issue landing first.GitHub issues are public. Do not include secrets, credentials, API keys, or tokens. Redact sensitive values from env vars, headers, and logs before submitting. Replace with obvious placeholders: REDACTED, sk-...REDACTED. Do not rely on partial masking — partial keys can still be exploited.
The repo has YAML form issue templates. Use --web to open the form in the browser (preferred when available), or pass --title + --body for non-interactive use.
gh issue create -R cyanheads/mcp-ts-core --template "Bug Report" --web
Structure the --body to match the template's form fields:
gh issue create -R cyanheads/mcp-ts-core \
--title "bug(scope): concise description" \
--label "bug" \
--assignee "@me" \
--body "$(cat <<'ISSUE'
### mcp-ts-core version
0.1.29
### Runtime
Bun
### Runtime version
Bun 1.3.x
### Transport
stdio
### OS
macOS 15.x
### Description
Brief explanation of the bug — what you expected vs what happened.
### Reproduction
```ts
import { tool, z } from '@cyanheads/mcp-ts-core';
export const broken = tool('broken_example', {
description: 'Minimal repro.',
input: z.object({ id: z.string().describe('ID') }),
output: z.object({
name: z.string().describe('Name'),
extra: z.string().optional().describe('Optional field'),
}),
async handler(input, ctx) {
return { name: 'test' }; // omitting optional field causes validation error
},
});
```
### Actual behavior
```
Error: Output validation failed: ...
```
### Expected behavior
Omitting an optional output field should pass validation.
### Additional context
Any workarounds, related issues, or observations.
ISSUE
)"
Format: bug(<scope>): concise description
| Scope | When |
|---|---|
tool | Tool builder, handler, format, annotations |
resource | Resource builder, handler, list, params |
prompt | Prompt builder, generate, args |
context | Context, logger, state, progress, elicit, sample |
config | AppConfig, parseConfig, env parsing |
errors | McpError, error factories, typed contracts (errors[] / ctx.fail), conformance lint, httpErrorFromResponse, auto-classification |
auth | Auth modes, scope checking, JWT/OAuth |
storage | StorageService, providers |
transport | stdio/http transport, SSE, session handling |
worker | createWorkerHandler, Worker runtime |
utils | Utilities (formatting, parsing, pagination, etc.) |
linter | Definition linter false positives/negatives |
types | Type exports, type inference |
services | LLM, Speech, Graph services |
deps | Dependency issues, peer dep conflicts |
Every issue needs exactly one primary label. Stack secondary labels on top when applicable.
Primary (required — pick one):
| Label | When |
|---|---|
bug | Something broken |
enhancement | Feature request or improvement |
documentation | Documentation is wrong, missing, or misleading |
Secondary (optional — stack on top of primary):
| Label | When |
|---|---|
regression | Worked before, broken after an update |
performance | Memory, CPU, latency, or resource usage |
security | Vulnerability, CVE, or hardening work |
breaking-change | Fix/feature will break public API; requires a major bump |
surplus-token-idea | Worth exploring when token budget allows |
Combine labels: --label "bug" --label "regression".
For long output, write to a file and attach:
bun run rebuild && bun run start:stdio 2>&1 | head -100 > /tmp/mcp-error.log
# As part of a new issue
gh issue create -R cyanheads/mcp-ts-core \
--title "bug(transport): stdio crashes on large payload" \
--label "bug" \
--assignee "@me" \
--body-file /tmp/mcp-error.log
# Or as a comment on an existing issue
gh issue comment <number> -R cyanheads/mcp-ts-core --body-file /tmp/mcp-error.log
gh issue create -R cyanheads/mcp-ts-core --template "Feature Request" --web
Template below demonstrates the richer structure. Omit sections you don't need — simple requests don't require Flow / Design / Dependencies blocks.
gh issue create -R cyanheads/mcp-ts-core \
--title "feat(scope): concise description" \
--label "enhancement" \
--assignee "@me" \
--body "$(cat <<'ISSUE'
Concrete statement of what's currently missing or broken in the framework. Name the specific builder, utility, context method, or config field. Two or three sentences — the reader should know the gap before the end of the paragraph.
Related: #N
## Proposal
What you want the framework to do, in one paragraph. Link external libraries on first mention: [lib name](https://github.com/owner/repo). Include a short justification — what this gives us that we don't have today.
### Proposed API
```ts
import { withRetry } from '@cyanheads/mcp-ts-core/utils';
const result = await withRetry(() => fetchExternal(url), {
maxAttempts: 3,
backoff: 'exponential',
});
```
### Flow (optional)
Ordered steps — e.g. `trigger → resolve → fetch → degrade`. Useful when the change spans multiple phases or fallbacks.
### Design / Tradeoffs (optional)
Philosophy: **one-line principle in bold.**
| Option | Strengths | Weaknesses |
|:---|:---|:---|
| A | ... | ... |
| B | ... | ... |
### Scope
- Files or modules touched
- New exports, env vars, or config keys
- Tier (Tier 1 core / Tier 2 standard / Tier 3 optional peer dep)
### Out of scope
- What we're deliberately not doing
- Adjacent work that belongs in a separate issue
### Dependencies (optional)
- Depends on: owner/repo#N
### Alternatives considered
What you tried or evaluated instead, and why it didn't fit.
ISSUE
)"
# Check issue status
gh issue view <number> -R cyanheads/mcp-ts-core
# Add context or respond to maintainer questions
gh issue comment <number> -R cyanheads/mcp-ts-core --body "Additional context..."
# List your open issues
gh issue list -R cyanheads/mcp-ts-core --author @me
@cyanheads/mcp-ts-core, not server code