2025-07-14 / Zenncafe#3 日比谷

Model Context Protocol (MCP) を使用してTypeScriptで特定のMCPサーバーのツールを呼び出す方法を説明します。 MCPサーバーの呼び出しは本来MCPホストとして機能するClaude DesktopアプリやZedの内部で透過的に実行されていますが、エディタのプラグインなどにMCPサーバー連携機能をつける時には複数のMCPサーバーへの接続管理と呼び出しを作る必要があります。 以下の例ではTypeScript SDKでMCPクライアントを使って、@modelcontextprotocol/server-memory パッケージで提供されるサーバーを呼び出します。 Client: MCPクライアントを作成するために使用されます。 StdioClientTransport: 標準入出力(stdio)を使用してMCPサーバーと通信するためのトランスポート層を提供しま
TypeScriptでMCPサーバーのtool呼び出しをする MCPサーバーのtool呼び出しをLLMにトリガーしてもらう を経てMCPを使い指示に従った操作をスクリプトで行えるようになりました。 次はFilesystem MCP Serverを利用して、特定のプロジェクトのソースコードを編集してもらいます。 指示に従って特定のディレクトリのコードを変更するので、これができると次は 指示の入力をSlackやGitHub Issue経由で実行する 結果をGitHub MCP ServerでGitHubのプルリクエストを自動で作る 状況をSlack MCP Serverで通知してもらう 以上をサーバー上でヘッドレスに動かす というコーディングエージェントの構築につながります。 mini-coder.ts ##テスト create-honoで作ったプロジェクトを変更していきます。 npm cre
TypeScriptでMCPサーバーのtool呼び出しをするはMCPクライアントでサーバーの呼び出しをシンプルに実装しました。 次はこの呼び出しをLLMに自動化してもらうというステップに進んでみます。これができると任意のプログラムにMCPサーバーの機能をアタッチできます。 以下のコードでは、MCPサーバーの情報をクライアント経由でclaude-3-5-sonnetに渡し、MCPサーバーのToolsをどう呼び出すのか計画させて、その結果をさらにMCPクライアントでコールしてまたclaude-3-5-sonnetで会話を継続します、Obsidian内の記事を要約し、その内容を記憶させるシステムを実装しています。 ポイント クライアントとサーバーは1対1です tools/list エンドポイントを使って利用可能なツールの一覧を取得します どのツールを呼び出すのか+その引数をLLMに生成してもらい
tsconfig.json を使うと、型チェックを緩く/強くしたり、また出力する JS の形式を変えたりできる。しかしいくつかの事情から、正しく書くのが難しい。 オプションの数が非常に多い その数なんと 133 個 *1 オプションの意味や役割が理解しにくい 公式ドキュメントは丁寧にかかれているが... JavaScript や TypeScript の仕様、型の知識、歴史的経緯などを知らないと理解しづらい 推奨されるオプションが変わっていく 言語やエコシステムの進化/変化によって変わる 最近だと Node.js の TypeScript サポートで変わった 「オプションの細かい意味とかは一旦いいから、モダンで最小限の tsconfig.json がすぐに欲しい!!!」。そうした声に応えて、id:mizdra がオススメする「4 ステップでモダンな tsconfig.json を作る方法」
はじめに VSCode拡張のClineがシンプルなアーキテクチャで実現されていることを説明するために、VSCode拡張のAPIだけを使った「ワークスペース内のエラーが発生している箇所をLLMで自動修正する」タスクのみを実行する最小のClineを作りました。筆者はこれら知見を元に自作のコーディングエージェントのPoCをしています。 この記事のソースコード全文は以下のリンクにあります。 同じ拡張を最初から作る場合はまずプロジェクトを新規に始めてください。 min-cline概要 このVSCode拡張はMainコマンド「Run: mini-cline」が1つ定義されています。 min-clineの基本的な流れ Cmd+Shift+Pで"Run mini-cline"を実行する エディタのワークスペースで検出されているPROBLEMSを取得しプレーンテキストに整形 これをソースコードと共にプロンプ
【Unity】TypeScript Importer – TypeScriptを用いたスクリプトの記述Unity2025年1月12日2025年1月12日 これは何かというと、Unity上でTypeScriptをコンパイルするためのエディタ拡張です。Unityに.tsファイルを追加・編集するだけで、自動的にJavaScriptへのトランスパイル→ScripableObjectの作成を行なってくれます! また、TypeScriptToLuaにも対応していて、.tsをJavaScriptではなくLuaにトランスパイルすることも可能です。 ……と言ってみたものの、この説明だけでは「何でUnityにTypeScript?」という感じでしょう。というわけで、実際これが何の役に立つのか、一つずつ解説していきます。 スクリプト言語の選択肢 Unityで、C#とは別に何らかのスクリプト言語を使いたいシチュエ
TOPコラムテック最前線レポート【後編】TypeScript×関数型×DDDで、ユニットテストが激減。実践の全貌とTips【Open Developers Conference 2024 レポート】 【後編】TypeScript×関数型×DDDで、ユニットテストが激減。実践の全貌とTips【Open Developers Conference 2024 レポート】 2024年11月18日 株式会社一休 CTO 伊藤 直也 大学院卒業後、新卒で入社したニフティ株式会社にて、ブログサービス「ココログ」を立ち上げ。2004年、株式会社はてなに入社、CTOに就任。「はてなブックマーク」などの開発を主導。2010年以降はグリー株式会社にて、ソーシャルメディア統括部長を務める。その後フリーランスを経て、2016年4月に、技術顧問を務めていた株式会社一休に入社。執行役員CTOに就任 X GitHub 2
8/29/2023 Write your own Zod Write your own Zod from scratch Table of Contents Introduction Primitive types Complex types: ZodArray<T> Complex types: ZodObject<T> Building schemas Validating schemas Next steps Footnotes Introductionλ Zod is a Typescript library where defining a schema gives you both runtime validation and type safety. As an exercise in type-level gymnastics, lets make our own Zod
伊藤直也さんが「今逢いたい」ソフトウェアエンジニアに声をかけて対談を重ねてきたシリーズの最終回は、これまでの対談の文章化を手がけたラムダノート株式会社の鹿野桂一郎さんとの異色対談です。コンピュータ技術書や記事の編集者であると同時に仕事や趣味でHaskellのプログラムも書く鹿野さんの視点を通し、現代のウェブシステム開発に伊藤さんが何を見ているのか、特に「型」と「エンジニアの学び」というこれまでの対談に通底するテーマについて掘り下げます。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてなブックマーク」などの開発を主導。グリー株式会社では統括部長としてSNSを担当した。2016年4月、一休に入社し執行役員CTOに就任。 ・鹿野 桂一郎さん / ラムダノート株式会社 代表取締役社長
2022年4月に著書『プロを目指す人のためのTypeScript入門』が発売された鈴木僚太さん(https://twitter.com/uhyo_)。QiitaやTwitterでは「うひょ(uhyo)」さんとして、TypeScriptやフロントエンドの話題を中心にウェブ技術に対する踏み込んだ解説でも知られています。 著書ではあえて触れられなかったという「TypeScriptでウェブアプリケーションをどう書くか」という観点へのヒント、なぜそれを書かなかったのか、そして仕様や原理に立ち返って自ら考えることの楽しさについて、株式会社一休CTOの伊藤直也さん(https://twitter.com/naoya_ito)が聞き出します。 ・伊藤 直也さん / 株式会社 一休 執行役員 CTO 新卒入社したニフティ株式会社でブログサービス「ココログ」を立ち上げ、CTOを務めた株式会社はてなでは「はてな
2022年10月1日に開催された #postdev での発表です
ハイクラス求人TOPIT記事一覧「がんばらないTypeScript」のための現実的な設定を考える ─ 4レベルの厳しさを使い分けてTypeScript疲れを克服しよう! 「がんばらないTypeScript」のための現実的な設定を考える ─ 4レベルの厳しさを使い分けてTypeScript疲れを克服しよう! エンジニアHubでは2019年に「がんばらないTypeScript」を紹介しました。JavaScriptに静的型付けなどを提供するTypeScriptは、今では実プロジェクトに採用されるプログラミング言語になっています。そこで現実的なTypeScriptの設定を、藤吾郎(gfx)さんに解説してもらいました。 2021年の現在、TypeScriptの価値はますます広く認められるところとなり、多くのJavaScriptプロジェクトがTypeScriptで開発されるようになってきました。またT
Firestore の JavaScript SDK では、withConverter() を使うと任意のコレクションに型をつけたり自動でデータをデコード/エンコードしたりできますが、コレクションの親子関係の情報は持たないので、SubCollection や Parent を参照するときは毎回手動で withConverter を呼び出さなければなりません。 また、Firestore のセキュリティルールで書き込み時に型チェックをするには手動でルールを記述する必要があり、構文も複雑になりやすいので、できれば TypeScript の型情報から自動でルールを生成したいところです。 Fireschema を使うと、スキーマを宣言的に記述するだけで、親子関係を考慮したデータの型付け、デコード、セキュリティルールの生成などを自動で行うことができます。 Fireschema の機能 Firestor
// Good: choose between two options as appropriate (see below). import * as ng from '@angular/core'; import {Foo} from './foo'; // Only when needed: default imports. import Button from 'Button'; // Sometimes needed to import libraries for their side effects: import 'jasmine'; import '@polymer/paper-button'; Import paths TypeScript code must use paths to import other TypeScript code. Paths may be r
今やTypeScriptはウェブアプリ開発時に最初に検討される言語となっているが、開発が始まった2010年頃は、まだオープンソースに恐れを抱いていたMicrosoft文化のなかで、ゆっくりと歩を進めていく必要があった。 TypeScriptの共同創案者であり、デンマークのソフトウェアエンジニアであるとともにMicrosoftのテクニカルフェローも務めているAnders Hejlsberg氏は米ZDNetに対して、Steve Ballmer氏が同社の最高経営責任者(CEO)だった2010年に、JavaScript開発者の心をつかむ唯一の道はオープンソース戦略だという決断をチームが下した際のことを語ってくれた。 Ballmer氏は2001年に、LinuxがMicrosoftの知的財産すべてを脅かす「ガン」だと発言しており、Microsoftの幹部らは2010年時点でも、オープンソースが依然とし
TypeScriptの型システムは、ユニオン型を始めとする様々な機能を持っているのが特徴的です。 その中でも、mapped typesとconditional typesは高度な機能として知られています。 ところが、その機能の膨大さゆえ、全てを使いこなす必要はない、TypeScriptの複雑な機能を無闇に使うべきではないという言説はたびたび現れます。 そのときに槍玉に上がりやすいのがmapped typesとconditional typesなのです。 筆者は、これらの機能は使えるだけ使い倒すべきであるという考えを持っています。 主張の根幹には、高度な型を使えばより正確にインターフェースを記述することができること、そして正確なインターフェースは使いやすさや正確な型推論結果に貢献することがあります。 正確なインターフェースや型推論結果は、コードの理解速度や開発効率を促進します。 これらは型シ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く