Skip to content

Conversation

@Lymah123
Copy link
Contributor

Summary

A comprehensive technical guide that explores Goose's extension system and Model Context Protocol (MCP), helping developers understand the architecture and build custom integrations.

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

Testing

Related Issues

Relates to #4723
Discussion: LINK (if any)

Screenshots/Demos (for UX changes)

Before:

After:

Email:

@Lymah123 Lymah123 requested a review from a team as a code owner October 21, 2025 15:58
@Lymah123
Copy link
Contributor Author

Hi @taniandjerry, I will be waiting for the team review on this PR.

@iandouglas iandouglas added the hacktoberfest Issues awarding points for Hacktoberfest 2025! label Oct 21, 2025
Copy link
Contributor

@iandouglas iandouglas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The structure of what you're adding here to the repo looks good, and I think we can approve it.

Reading through the blog post, I think there are a few formatting changes you could make for easier reading, for example the Primitives section where you break down things like Prompts, Resources, etc, their "sub-headings" of Use Cases and Examples are the same font size as the Prompts and Resources keywords, so it all kind of blends together.

For the MCP architecture overview ascii art, there are a few things out of alignment in the image, but looks great. If you could lowercase 'goose' everywhere in your article that would be fantastic (it's capitalized in the blog post and a few other places in the article)

The blog title is about a deep dive into goose's extensions and MCP and how to make an MCP server etc feels REALLY long. Reader attention is hard to retain. I'd almost break this into three pieces:

  • an intro to MCP
  • how to build an MCP server, including state retention and performance optimization
  • goose's extension system and how to add your custom MCP server, and the troubleshooting section

Feedback on some other things I found reading through the post:

Once we get into the goose extension explanation about a third of the way in, you have a link for "goose's built-in extensions" that links to a page about building custom extensions, and should point to a different page like:
https://block.github.io/goose/docs/getting-started/using-extensions#built-in-extensions
... maybe double check all of the links are linked where it makes sense? the very first link where you say "goose's true power ..." links to the mcp-servers page, and could just link to https://block.github.io/goose if someone doesn't know what goose even is. In fact, I'd almost add an intro block before the table of contents in the article itself to introduce what the reader is about to learn.

There's a section about "Extension Configuration" that could use some changes.

  1. you mention a disk path for the config.yaml file but on Windows it'll be different, you can get that info from https://block.github.io/goose/docs/guides/config-file/

  2. you have an example config.yaml file with a "providers" list ... this doesn't exist in goose

  3. for managing extensions, you could probably also link back to our documentation pages instead of walking the reader through everything. If our UI changes, we'll have up to date docs, so your descriptions don't have to be updated later etc.

For the troubleshooting section, this is very thorough, but it would be nice to see an explanation of why those 5 failures could happen, not just a simple string of the "problem", and a list of solutions. Let's explain why these things could even happen.

@Lymah123
Copy link
Contributor Author

@iandouglas , thanks for the feedback. I will work on it.

Quick question, do you suggest I should make the blog post into 3 parts and create separate PR for each @iandouglas ?

@iandouglas
Copy link
Contributor

I'd defer to @taniandjerry but I think only the one piece about goose would qualify, as the other two pieces would be about MCP.

@taniandjerry taniandjerry added the medium Weight label for Hacktoberfest 2025 issues label Oct 21, 2025
@taniandjerry taniandjerry requested a review from a team October 21, 2025 17:56
@Lymah123
Copy link
Contributor Author

Ok, @iandouglas
@taniandjerry , what do you suggest before start working on the changes?

@iandouglas
Copy link
Contributor

I chatted with @taniandjerry ... let's split this into those 3 articles, where one is your intro to MCP, one is how to build an MCP server and optimize it, and then a concluding piece about bringing all of that into goose and explain goose extensions, how to add this new MCP server they made from article #2, and how to troubleshoot if goose gives errors about it. Then let's change this PR to point to that third piece.

If there's another blog article issue available, you're welcome to dive into another topic as well :)

thanks again for putting all of this together, it's very thorough content for sure!

@Lymah123
Copy link
Contributor Author

Alright @iandouglas , I will work on the suggestions. Thank you so much for the prompt response!

@taniandjerry
Copy link
Contributor

You can also fix the DCO check by following the guidance here, @Lymah123 !

@Lymah123
Copy link
Contributor Author

You can also fix the DCO check by following the guidance here, @Lymah123 !

Alright @taniandjerry , thanks

@taniandjerry
Copy link
Contributor

After you fix the DCO check, we will be able to merge this for you :) <3

@EbonyLouis EbonyLouis added large Weight label for Hacktoberfest 2025 issues and removed medium Weight label for Hacktoberfest 2025 issues labels Oct 23, 2025
@EbonyLouis
Copy link
Contributor

EbonyLouis commented Oct 23, 2025

Hey @Lymah123 don't worry about making any changes to your blog, since it has a good amount of really good content in it. I changed the point system size from medium to large.

As Tania mentioned once you follow the steps to fix your failing DCO check, we'll be good to merge 🥳

@Lymah123
Copy link
Contributor Author

Hey @Lymah123 don't worry about making any changes to your blog, since it has a good amount of really good content in it. I changed the point system size from medium to large.

As Tania mentioned once you follow the steps to fix your failing DCO check, we'll be good to merge 🥳

Hi @EbonyLouis , @taniandjerry, @blackgirlbytes and @iandouglas

I would appreciate your help on this, I lost access to my devices. As my phone and laptop got stolen like two days ago. Infact I just recovered my GitHub account. How do I push new changes on this new device without required recloning this repo. What do you suggest I should do inorder for this PR to be merged? Thanks. Looking forward to y'all suggestions.

@agiuliano-square
Copy link
Contributor

Hi @Lymah123!

I'm really sorry to hear about your devices being stolen. That's such a frustrating situation to deal with. Glad you were able to recover your GitHub account though!

It looks like you just need to fix the failing DCO check, so here's what I'd recommend:

Clone and fetch your PR branch

git clone https://github.com/block/goose.git
cd goose
git fetch origin pull/5291/head:pr-5291
git checkout pr-5291

At that point, you can follow these steps to fix the failing DCO check and then we can get this merged.

Signed-off-by: oguntunjiharlimatodunola <fimihanodunola625@gmail.com>
Signed-off-by: Lymah123 <fimihanodunola625@gmail.com>
@Lymah123
Copy link
Contributor Author

Hi @Lymah123!

I'm really sorry to hear about your devices being stolen. That's such a frustrating situation to deal with. Glad you were able to recover your GitHub account though!

It looks like you just need to fix the failing DCO check, so here's what I'd recommend:

Clone and fetch your PR branch

git clone https://github.com/block/goose.git
cd goose
git fetch origin pull/5291/head:pr-5291
git checkout pr-5291

At that point, you can follow these steps to fix the failing DCO check and then we can get this merged.

Hi @agiuliano-square !

Thank you so much! And thanks again for the solution, it fixed it. Thank you!

@Lymah123
Copy link
Contributor Author

@EbonyLouis and @taniandjerry , the signoff issue has been fixed. Thanks!

@blackgirlbytes blackgirlbytes merged commit c3578b7 into block:main Oct 25, 2025
14 checks passed
BlairAllan pushed a commit to BlairAllan/goose that referenced this pull request Oct 25, 2025
…xt Protocol (MCP) (block#5291)

Signed-off-by: oguntunjiharlimatodunola <fimihanodunola625@gmail.com>
Signed-off-by: Lymah123 <fimihanodunola625@gmail.com>
Signed-off-by: Blair Allan <Blairallan@icloud.com>
michaelneale added a commit that referenced this pull request Oct 26, 2025
* main:
  fixing typo in blog metadata (#5382)
  feat: add new blog entry on adopting Goose in the enterprise (#5381)
  Blog/acp intro oct 2024 (#5379)
  feat: add A/B test framework generator recipe (#5378)
  Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291)
  Some system prompt tidying (#5313)
  Fix scheduler jobs dates formatting (#5368)
  Use Instructions as Prompt in Scheduler (#5359)
  feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350)
  Add bottom menu extension selection (#5352)
  (re)Standardize Session Name Attribute (#5279)
  chore: improve timeout for entering password when running goose ui from source (#5349)
michaelneale added a commit that referenced this pull request Oct 26, 2025
* main:
  fixing typo in blog metadata (#5382)
  feat: add new blog entry on adopting Goose in the enterprise (#5381)
  Blog/acp intro oct 2024 (#5379)
  feat: add A/B test framework generator recipe (#5378)
  Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291)
  Some system prompt tidying (#5313)
  Fix scheduler jobs dates formatting (#5368)
  Use Instructions as Prompt in Scheduler (#5359)
  feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350)
  Add bottom menu extension selection (#5352)
  (re)Standardize Session Name Attribute (#5279)
  chore: improve timeout for entering password when running goose ui from source (#5349)
michaelneale added a commit that referenced this pull request Oct 27, 2025
* main: (54 commits)
  fixing typo in blog metadata (#5382)
  feat: add new blog entry on adopting Goose in the enterprise (#5381)
  Blog/acp intro oct 2024 (#5379)
  feat: add A/B test framework generator recipe (#5378)
  Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291)
  Some system prompt tidying (#5313)
  Fix scheduler jobs dates formatting (#5368)
  Use Instructions as Prompt in Scheduler (#5359)
  feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350)
  Add bottom menu extension selection (#5352)
  (re)Standardize Session Name Attribute (#5279)
  chore: improve timeout for entering password when running goose ui from source (#5349)
  Fix legacy import (#5343)
  Unify loading goose messages and usechatstream determines chat state (#5306)
  Docs: goose session export and goose session import (#5267)
  Create recipe dir on save (#5337)
  docs: Update Discord link (#5335)
  [recipe workflow]: Fix `Invalid revision range` error  (#5334)
  Add tech-article-explainer recipe (#5333)
  doc: added beta banner for old blog post (#5332)
  ...
wpfleger96 added a commit that referenced this pull request Oct 27, 2025
* main:
  Auto-compact Threshold UI improvements (#5354)
  Filter preserved user messages to be text only. (#5391)
  include sessionId in tool request (#5394)
  feat: add PR Impact Analyzer prompt (#5375)
  docs: add blog post on configuring goose for team environments (#5380)
  migrating back with new chatrecall non underscore name (#5223)
  fixing typo in blog metadata (#5382)
  feat: add new blog entry on adopting Goose in the enterprise (#5381)
  Blog/acp intro oct 2024 (#5379)
  feat: add A/B test framework generator recipe (#5378)
  Doc: (blog) - Deep Dive into goose's Extension System and Model Context Protocol (MCP) (#5291)
  Some system prompt tidying (#5313)
  Fix scheduler jobs dates formatting (#5368)
  Use Instructions as Prompt in Scheduler (#5359)
  feat(snowflake): add support for newer Claude 4.5 and 4 models (#5350)
@taniandjerry taniandjerry linked an issue Oct 28, 2025 that may be closed by this pull request
11 tasks
BlairAllan pushed a commit to BlairAllan/goose that referenced this pull request Nov 29, 2025
…xt Protocol (MCP) (block#5291)

Signed-off-by: oguntunjiharlimatodunola <fimihanodunola625@gmail.com>
Signed-off-by: Lymah123 <fimihanodunola625@gmail.com>
Signed-off-by: Blair Allan <Blairallan@icloud.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hacktoberfest Issues awarding points for Hacktoberfest 2025! hacktoberfest-accepted large Weight label for Hacktoberfest 2025 issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

📝 Blog Post: Deep dive into Goose's extension system and MCP

6 participants