Commit Graph

6 Commits

Author SHA1 Message Date
cliffhall
320e3d8b25 [WIP] Refactor everything server to be more modular and use recommended APIs.
Adding the get-resource-reference tool

* Updated architecture.md

* In prompts/resource.ts
  - Refactor/extracted the prompt argument completers into exported functions in resources/templates.ts
  - Refactor/extracted BLOB_TYPE, TEXT_TYPE, and resourceTypes into exported constants in resources/templates.ts as RESOURCE_TYPE_BLOB, RESOURCE_TYPE_TEXT, and RESOURCE_TYPES
  - In resources/templates.ts
    - refactor renamed index to resourceId throughout for consistency with prompts and tool references
* Added tools/get-resource-reference.ts
  - Registers the 'get-resource-reference' tool with the provided McpServer instance.
  - uses enum and number schema for tools to provide resourceType and resourceId arguments. Completables don't work for tool arguments.
  - Returns the corresponding dynamic resource
* In tools/index.ts
  - imported registerGetResourceReferenceTool
  - in registerTools
    - called registerGetResourceReferenceTool
2025-12-09 17:47:38 -05:00
cliffhall
7b2ff6b064 [WIP] Refactor everything server to be more modular and use recommended APIs.
* Updated architecture.md

* Refactor/renamed static.ts to file.ts

* Refactor/renamed complex.ts to args.ts

* Refactor/renamed template.ts to templates.ts.

* In resource.ts,
  -  improved registerEmbeddedResourcePrompt to allow selection of blob or text resource type.

* In file.ts
  - refactor/renamed registerStaticResources to registerFileResources to highlight the fact that it is using files as resources.

* In args.ts
  - refactor/renamed registerComplexPrompt to registerArgumentsPrompt to highlight the fact that it is demonstrating prompt arguments.

* Updated inline documentation throughout
2025-12-06 15:48:39 -05:00
cliffhall
9084cd3a96 [WIP] Refactor everything server to be more modular and use recommended APIs.
* Ran prettier
2025-12-06 14:17:07 -05:00
cliffhall
0aeb8a794d [WIP] Refactor everything server to be more modular and use recommended APIs.
* Updated architecture.md

* Refactor/renamed resources/dynamic.ts to resources/template.ts
  - refactor/renamed registerDynamicResources to registerResourceTemplates
    - this highlights the more salient fact that we are demonstrating registration of resource templates in this example.
  - exposed the ability to dynamically create the text resources from elsewhere (namely the resource-prompt example

* Added prompts/resource.ts
  - in registerEmbeddedResourcePrompt()
    - register a prompt that takes a resourceId and returns the prompt with the corresponding dynamically created resource embedded
2025-12-06 12:50:09 -05:00
cliffhall
eee9866ebb [WIP] Refactor everything server to be more modular and use recommended APIs.
* Updated architecture.md

* Refactor / renamed all addXPrompt, addXTool, and addXResource functions to registerX...

* Added the add tool
2025-12-05 18:43:36 -05:00
cliffhall
daec74fbc1 [WIP] Refactor everything server to be more modular and use recommended APIs.
* Adding prompts (simple, complex, with completions)

* Add prompts/simple.ts
  - in addSimplePrompt()
    - register a simple prompt with no arguments

* Add prompts/complex.ts
  - in addComplexPrompt()
    - define promptArgsSchema containing a required city arg of type string and an optional state arg of type state
    - register the complex prompt with a prompt callback that combines the city and state into a prompt asking for the weather in that location

* Add prompts/completions.ts
  - in addPromptWithCompletions()
    - define promptArgsSchema containing department and name string fields with completion handlers
    - register the completable prompt with a prompt callback that combines the inputs into a prompt asking to promote the selected name to head of the selected department

* Add prompts/index.ts
  - import addSimplePrompt, addComplexPrompt, and addPromptWithCompletions
  - export registerPrompts function
  - in registerPrompts()
    - call addSimplePrompt
    - call addComplexPrompt
    - call addPromptWithCompletions

* In package.json
  - add prettier devDependency
  - add prettier:check script
  - add prettier:fix script
  - in build script, copy docs folder to dist

* All other changes were prettier formatting
2025-12-05 16:09:35 -05:00