Cursor rule
.cursor/rules/mcp-server-attr-codegen-test.mdc`#[mcp_server]` 属性のテスト方法
Cursor rules
Quality
45/100
Scores the file, not the repository.Length
148 words
4 headings · 1 code blocksRepository
28
— · pushed 298 days agoLast changed
3 days ago
First indexed 3 days ago.1234567# 概要89- セクション `ファイルパス` で説明されたファイルにテストを記載します10- そのファイルはセクション `ファイル構造` で説明された構造にする必要があります11- コンパイルエラーやテストの失敗の原因を調査する際は、セクション `デバッグ方法` で説明された手順で行います1213# ファイルパス1415`./tests/mcp_server_<name>.rs`1617`#[mcp_server]` を付与する型一つにつき一つのファイルを作成します。18`#[mcp_server]` を付与する型を新しく作成する場合は新しいファイルを作成します。1920# ファイル構造2122```rust23use <標準ライブラリのパス>;2425use <外部クレートのパス>;2627use <mcp_attr クレートのパス>28use mcp_attr::Result;293031struct MyMcpServer {32 ...33}3435#[mcp_server]36impl McpServer for MyMcpServer {37 ...38}3940// 同期のテスト41#[test]42fn test_name() -> Result<()> {4344}4546// 非同期のテスト47#[tokio::test]48async fn test_name() -> Result<()> {49 ...50}5152// テストを補助する関数など53fn helper_func() {54 ...55}5657```5859# デバッグ方法6061下記の手順で問題を調査してください。62631. テストを実行し問題が発生している箇所を確認します。642. `#[mcp_server]` を `#[mcp_server(dump)]` に変更します。653. 問題が発生していたテストを再実行します664. コンパイルエラーが発生し、 `#[mcp_server]`によってマクロ展開後のコードがエラーメッセージとして出力されます。マクロ展開後のコードは`// ===== start generated code =====` と `// ===== end generated code =====` で囲まれた部分にあります。675. `#[mcp_server]` が設定された部分全体をコメントアウト、代わりに先ほどのエラーメッセージの`// ===== start generated code =====` と `// ===== end generated code =====` で囲まれた部分のコードを追加します。686. テストを再実行します。697. マクロ展開後コードでどのようなエラーが発生しているかを確認し、修正します。708. エラーがなくなるまで手順6と7を繰り返します。719. エラーが無くなったら、マクロ展開用のプログラム `./macros/src/lib.rs` を修正して、生成されるコードに同様の変更が適用されるようにします。7210. `// ===== start generated code =====` と `// ===== end generated code =====` で囲まれた部分を削除します。7311. `#[mcp_server]` が設定された部分全体のコメントアウトを解除します。7412. テストを再実行し、問題がないかを確認します。問題があれば手順2に戻ります。75
Also in frozenlib/mcp-attr
Diff this repo’s formatsOne repository carrying more than one format is the comparison this product exists for: does anyone actually write different content in each file, or is one a copy of the other?
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| frozenlib/mcp-attr.cursor/rules/rust.mdc · 28 | Cursor rules | testdocs | 56/100 | 3 days ago | |
| frozenlib/mcp-attrCLAUDE.md · 28 | CLAUDE.md | buildtestlint-formatstyle+5 | 97/100 | 3 days ago |
Similar configs
Same format, overlapping stack, ranked by quality.
| Repository | Format | Stack | Covers | Score | Changed |
|---|---|---|---|---|---|
| TechSquidTV/Hermes.cursor/rules/10-hermes-api.mdc · 45 | Cursor rules | testlint-formatstylearch+5 | 100/100 | 3 days ago | |
| hiromaily/go-crypto-wallet.cursor/rules/typescript.mdc · 126 | Cursor rules | setupbuildtestlint-format+6 | 100/100 | 3 days ago | |
| langflow-ai/langflow.cursor/rules/docs_development.mdc · 153k | Cursor rules | setupbuildtestlint-format+7 | 97/100 | 3 days ago | |
| TechSquidTV/Hermes.cursor/rules/20-hermes-api-tests.mdc · 45 | Cursor rules | teststyletesting-strategysecurity+3 | 97/100 | 3 days ago | |
| skillrecordings/egghead-next.cursor/rules/project-update-user-rules.mdc · 1.4k | Cursor rules | buildtestlint-formatstyle+7 | 96/100 | 3 days ago | |
| nerds-odd-e/doughnut.cursor/rules/cli.mdc · 49 | Cursor rules | setupbuildteststyle+4 | 96/100 | 3 days ago | |
| skillrecordings/egghead-next.cursor/rules/gh-task-plan.mdc · 1.4k | Cursor rules | teststylearchtypes+2 | 96/100 | 3 days ago | |
| skillrecordings/egghead-next.cursor/rules/project-update-rules.mdc · 1.4k | Cursor rules | buildtestlint-formatstyle+7 | 96/100 | 3 days ago |
